sql注入绕过waf

文章目录

    • 一、封神台二
      • 1、尝试注入
      • 2、构造字段
        • 2.1、猜解数据库字段
        • 2.2、寻找回显点
        • 2.3、查询数据

问题描述

一、封神台二

1、尝试注入

1、构造?id=171 and 1=1 尝试注入

构造字段,发现只要存在select查询关键字就会被拦截
sql注入绕过waf_第1张图片

  • 很多时候,提交数据并非仅仅只有get\post这两种方式,还可以用cookie提交,对方可能对get\post这两种方式进行拦截,现在判断是否可以通过cookie进行传参。
  • 我们尝试,将测试语句放到cookie里面,再发送给服务器,因为网页防护一般只拦截Get、post传参。

2、尝试cookie注入
我们先把url中的?id=171删除发现页面错误,通过储存下的cookie添加名称和值刷新,发现页面正常显示,可以发现能通过cookie传输数据
sql注入绕过waf_第2张图片
因为通过存储中的cookie添加值过于繁琐,所以我们通过插件变简单
这里我们用FireFox举例

扩展和主题/搜索/ModHeader/添加即可
sql注入绕过waf_第3张图片
通过ModHeader添加cookie传输数据
sql注入绕过waf_第4张图片
sql注入绕过waf_第5张图片
通过勾选和取消页面对比,发现插件可以正常使用

2、构造字段

2.1、猜解数据库字段

构造id=171+order+by+10
sql注入绕过waf_第6张图片

构造id=171+order+by+11
sql注入绕过waf_第7张图片
我们不断的为字段进行排序,发现当排序到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)
sql注入绕过waf_第8张图片
发现页面正常显示,说明数据库存在admin表,admin表中存在username,password字段

2、构造id=171+union+select+1,2,3,4,5,6,7,8,9,10+from+admin
sql注入绕过waf_第9张图片
发现回显点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
sql注入绕过waf_第10张图片
发现用户名密码回显,由于密码b9a2a2b5dffb918c是加密过的,所以我们需要解密,字母+数字的16位组合,很像md5的特征

通过cmd5.com解密
sql注入绕过waf_第11张图片
成功获得密码

你可能感兴趣的:(web安全,sql,firefox,数据库)