注入漏洞

网络安全规范

旧时模样 提交于 2019-12-11 11:25:59
一:敏感信息泄露 1.1什么属于敏感信息 只要这些数据可以被黑客看到,并且对黑客的攻击有帮助的信息,都属于敏感信息。 1.2什么是敏感信息泄露 敏感信息泄露,是指人们把不该公开的信息,给放入到公开的信息库中,造成敏感信息泄露。 1.3怎样检查敏感信息是否加密 需要通过抓包工具,检查数据在传输过程中是否加密。 1.4 常见敏感信息分类 1.4.1 软件泄漏 软件类: 1. 操作系统版本 , 2.中间件的类型、版本 , 3.Web程序(cms类型及版本、敏感文件) 1.4.2 Web敏感信息 phpinfo()信息泄漏 描述:Web站点的某些测试页面可能会使用到PHP的phpinfo()函数,会输出服务器的关键信息。如下图所示: 检测方法:访问http://[ip]/test.php 以及http://[ip]/phpinfo.php看是否成功。 修复方案:删除该PHP文件。 2.测试页面泄漏在外网 描述:一些测试页面泄漏到外网,导致外界误传公司被黑客入侵。如下图所示: http://parts.baby.qzoneapp.com/test.php http://other.baby.qzoneapp.com 检测方法:检测页面内容,看是否是测试页面。 修复方案:删除测试页面,例如test.cgi,phpinfo.php,info.pho, .svn/entries等。

CG-CTF(6)

旧时模样 提交于 2019-12-09 12:03:43
CG-CTF    https://cgctf.nuptsast.com/challenges#Web   续上~   第三十一题:综合题2   查看本CMS说明;   分析:     ①数据库表名为admin;字段名为username和userpass(这里直接告诉我们表名和字段名,猜测大概率存在SQL注入漏洞);     ②下面列了一些文件名,如say.php、passencode.php等,用burp爬出了so.php等;     ③在url处可以发现file可以直接读取文件;   思路:先用file参数读取这些文件,以获取更多信息;   分析:     ①passencode.php文件里建立了一个加密函数,分析代码可知对输入的参数的每一个字符转成ASCII码后输出;     ②about.php文件里暴露了后台目录:http://cms.nuptzj.cn/loginxlcteam;     ③so.php里暴露了很多有用的信息: 检查了HTTP头部的User-Agent参数,必须为Xlcteam Browser才可以通过检验,用burp修改HTTP头部即可简单绕过; POST参数为'soid';此处可能存在SQL注入漏洞; 包含了两个文件antiinject.php和antixss.php,先简单分析代码即可知是对SQL注入和XSS跨站脚本的一些字符做了过滤;

buuctf fakebook

人走茶凉 提交于 2019-12-05 15:24:41
萌新第一次尝试ssrf。 先尝试一下存不存在sql注入漏洞,然后发现不存在。。 没办法,登陆上去看一眼吧。 发现url有点不对劲 http://e6fc16c8-ded1-4377-83a2-b9f5b4aef018.node3.buuoj.cn/view.php? no=1 马上猜测no这里有问题,尝试搞事情 http://e6fc16c8-ded1-4377-83a2-b9f5b4aef018.node3.buuoj.cn/view.php?no=0 直接爆出了绝对路径。 然后尝试sql注入,发现真的存在注入漏洞,兴奋。然后fuzz发现,空格被过滤,但是没有关系可以用/**/绕过。然后不会了。。 然后扫目录扫出了user.php.bak 和 flag.php 很明显flag.php中有flag,直接访问,无果,放弃。下载user.php <?php class UserInfo { public $name = ""; public $age = 0; public $blog = ""; public function __construct($name, $age, $blog) { $this->name = $name; $this->age = (int)$age; $this->blog = $blog; } function get($url) { $ch =

SQL注入学习资料总结

本秂侑毒 提交于 2019-12-04 17:43:56
什么是 SQL注入 SQL 注入基本介绍 结构化查询语言(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。1986年10月,美国国家标准学会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的 数据库系统 在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。 SQL注入(SQL Injection)是一种常见的 web安全 漏洞,攻击者利用这个问题,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。 SQL注入产生原因 针对SQL注入的攻击行为可描述为通过在用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。其成因可以归结为以下两个原因叠加造成的: 1. 程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句 2. 未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中 sql注入攻击 方式 SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入、报错注入和盲注: 1、可显注入:攻击者可以直接在当前界面内容中获取想要获得的内容 2、报错注入

黑客攻防技术宝典web实战篇:攻击数据存储区习题

ぃ、小莉子 提交于 2019-12-04 08:19:47
随书答案。1. 如果要通过实施 UNION 攻击、利用 SQL 注入漏洞获取数据,但是并不知道最初的查询返回的列数,如何才能查明这个值? 可以通过两个简单的方法确定列数。其一,可以 SELECT 每个列中的类型中性值 NULL,并逐渐递增列数,直到应用程序返回数据,表明指定了正确的列数,例如:' UNION SELECT NULL--' UNION SELECT NULL, NULL--' UNION SELECT NULL, NULL, NULL--请注意,在 Oracle 上,需要在上述每种情况的最后一个 NULL 后添加 FROM DUAL。另外,可以注入 ORDER BY 子句并递增指定列,直到引发错误,表明请求了无效的列:' ORDER BY 1--' ORDER BY 2--' ORDER BY 3-- 已经确定一个字符串参数中的 SQL 注入漏洞,已经确信数据库为 MS-SQL 或Oracle,但当前无法获得任何数据或错误消息确定到底是哪个数据库。如何才能查明这一点? 一种确认数据库类型的简单方法,是使用数据库特定的字符串串联语法在所控制的查询中构建某个良性输入。例如,如果原始参数值为 London,则可以轮流提交以下数据项:'||' London'+'London如果第一个数据项导致和原始参数值相同的行为,说明数据库可能为 Oracle

phpcms注入漏洞之文件poster.php

匿名 (未验证) 提交于 2019-12-02 22:11:45
简介: 漏洞名称:phpcms注入漏洞 补丁文件:www/phpcms/modules/poster/poster.php 补丁来源:网络 … 打开文件 www/phpcms/modules/poster/poster.php , 找到第221行左右; 修改代码,在代码 if ($_GET['group']) { 的后面,添加如下代码: $ _GET[ 'group' ] = preg_replace( '#`#' , '' , $_GET [ 'group' ]); 3.然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖; 4.最后,登录阿里云后台,点击验证(截图如下),即可完成这种注入漏洞的修复。 以上就是关于 “ phpcms注入漏洞之文件poster.php ”的全部内容。 文章来源: phpcms注入漏洞之文件poster.php

SQL手工注入漏洞测试(MySQL数据库-字符型) 墨者学院

匿名 (未验证) 提交于 2019-12-02 21:59:42
版权声明:转载请附上原文链接 https://blog.csdn.net/qq_41289254/article/details/89682476 1、打开网页,查看源码,发现停机公告那里有个url,尝试注入一下 2、?id=tingjigonggao' 发现有个函数不满足,会报错,不过既然告诉了是字符型注入,再试一下: ?id=tingjigonggao' and '1'='1 发现成功显示 ?id=tingjigonggao' and '1'='2 显示有误 3、判断列数: ?id=' order by 1# 发现不行 4、查看回显位置: ?id=' union select '1','2','3','4 5、?id=' union select '1',database(),user(),'4 6、查询表: ?id=' union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database() and '1'='1 7、查询字段: ?id=' union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name=

【网络安全】SQL注入、XML注入、JSON注入和CRLF注入科普文

瘦欲@ 提交于 2019-12-02 19:45:25
目录 SQL注入 一些寻找SQL漏洞的方法 防御SQL注入 SQL注入相关的优秀博客 XML注入 什么是XML注入 预防XML注入 JSON注入 什么是JSON注入 JSON注入的防御 CRLF注入 CRLF介绍 CRLF漏洞检测 CRLF漏洞预防 SQL注入 所谓SQL注入,是将恶意SQL命令通过某种方式提交到服务器后台,并欺骗服务器执行这些恶意的SQL命令的一种攻击方式。 —— [ 百度百科 ] 造成SQL注入漏洞原因有两个:一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。 一些寻找SQL漏洞的方法 http://host/test.php?id=100 and 1=1 //返回成功 http://host/test.php?id=100 and 1=2 //返回失败 http://host/test.php?name=rainman ‘ and ‘1’=‘1 //返回成功 http://host/test.php?name=rainman ‘ and ‘1’=‘2 //返回失败 http://host/test.php?name=rainman ‘ and ‘1’=‘2 )) //使用括号进行语句闭合 //在具有模糊搜索的地方 1)先搜索('),如果出错,说明90%存在这个漏洞。 2)然后搜索(%),如果正常返回,说明95

PHP代码审计:SQL注入漏洞

霸气de小男生 提交于 2019-12-02 06:38:34
当你的才华 还撑不起你的野心时 那你就应该静下心来学习 代码审计学习线上实验,都是CE一边实操,一边整理的笔记,方便以后翻看时,可快速查阅。 目录 SQL注入漏洞审计 一、宽字节注入 宽字节注入原理 宽字节注入实例 宽字节注入防御 SQL注入漏洞审计 简介: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 SQL注入的产生,是因为代码或者编码的不完善。代码的不完善往往是因为程序编写过程中没有考虑到代码的健壮性及安全性。而编码的不完善问题,只要通过规范使用几种函数就可以有效避免。介于代码和编码是两种不同层面的问题,我们将SQL注入也分为两大类: 普通SQL注入:最为常见的sql注入,由于未对用户输入进行过滤或过滤不严而产生的漏洞,分为整数型和字符型注入,通常直接通过union联合查询就可以进行数据库查询。 编码SQL注入:为了防御SQL注入,某些应用会对用户输入进行编码,但编码处理的函数本身也存在一些问题,导致可以通过输入一些编码函数不兼容的特殊字符,将输出字符变为危险数据,最常见的就是Mysql宽字节注入。 我们这里主要对宽字节注入进入叙述,后面再补充普通SQL注入的了解,如需要学习SQL注入方面知识