sqli-labs(18-22)

笔者之所以再图上都打上红线,因为那些都是笔者的IP地址,为何会有它,这就扯到了burp抓取本地包的问题了,你抓不到本地包,将127.0.0.1改为你的IP就好了(本想改HOSTS文件,发现没球用)

Less-18

手工注入

1.打开界面有一个IP地址,
在这里插入图片描述
多次尝试注入后,都是回显你的IP地址,这里自然就想到了XFF头,但是经过burp拦截更改XFF后,页面还是显示你的IP地址,说明XFF不存在注入
在这里插入图片描述
2.查看源码

$uagent = $_SERVER['HTTP_USER_AGENT'];
$IP = $_SERVER['REMOTE_ADDR'];

源码使用HTTP_USER_AGENT只获取了HTTP请求头的一个部分:User-Agent
而获取IP则使用了REMOTE_ADDR,这能直接获取TCP协议数据包的底层会话IP地址,它能被代理服务器或路由修改伪造,但非修改XFF头就可以更改的。
再来看

$uname = check_input($_POST['uname']);
$passwd = check_input($_POST['passwd']);

unamepasswd都经过check_input()处理,经过Less-17分析,两者不存在注入点
但是后来尝试发现登录成功后会回显User-AgentIP
在这里插入图片描述
这里要输入正确的账号和密码才能绕过账号密码判断,进入处理User-Agent部分。这跟现实中的注册登录再注入是比较贴合。
3.对User-Agent进行测试,确定它是否是注入点
构造User-Agent: 66666',发现回显错误,果然存在注入
在这里插入图片描述
而且根据回显可以判断出闭合方式且后台语句为Insert
Insert语法:INSERT INTO table_name ('uagent','ip_address','username') VALUES ('$uagent','$IP','$uname')
,所以可以构造闭合语句了,User-Agent: 66666','','')#(此处为两个单引号),开始注入了
4.爆库,构造User-Agent: 66666'and updatexml(1,concat('~',(select group_concat(schema_name)from information_schema.schemata)),0),'','')#
在这里插入图片描述
5.接下来爆表,爆表列,字段等前面GET篇都有

sqlmap注入

1.由手工注入的分析可以构造以下语句
py -2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-18/" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0" -batch --level 4 --dbs --threads 10或者py -2 sqlmap.py -r 1.txt --threads 10 -batch --dbs(这里的1.txt是burp截取的数据包,复制粘贴过去的)
-r: sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookiePOST数据,等等)
--user-agent:http头会携带一个值,就是user-agent,表示访问的浏览器的信息
sqlmap检查uesr-agent中的注入点,
lever>=3才会去检查ser-agent头是否存在注入漏洞
在这里插入图片描述
2.爆其他东西就是改改参数啦

Less-19

1.打开界面同Less-18一样,又是显示你的IP地址,我想这次应该是改XFF头了吧,结果尝试很多情况发现也不是的,还是登录成功后显示了(说到登陆成功有一点要注意,你的密码可能在Less-16重置了,你可以去改回来)
在这里插入图片描述
2,burp拦截后,显示了Referer,猜想和Less-18一样它可能是注入点,构造Referer: 6666',结果如下
在这里插入图片描述
,根据错误提示可知后台又是Insert语句,所以闭合方式为6666','')#
3.接下里的工作就和Less-18一样了,同样也可以用sqlmap

Less-20

1.首先在UsernamePassword各种姿势尝试注入,没啥用,都是Login fail,还是登陆成功注入这种方式吧,登陆成功后,界面如下
在这里插入图片描述
显示了很多东西,
2.burp拦截还是,放了两次包后得到如下数据
在这里插入图片描述
这里看见了Cookie是我登陆时候的用户名,可以由我们(也就是用户控制),所以可能存在注入点,尝试构造Cookie: uname=admin',果然存在注入,
在这里插入图片描述
根据错误提示,可知后台语句为select且闭合方式为admin'#
3.好了接下来注入就可以搞了,也是可以用sqlmap的,改改参数就好了(注意--level 3 )

Less-21

1.打开界面还是同Less-20一样,尝试对UsernamePassword各种姿势注入后都是Login Fail,看来还是得登陆成功再尝试注入啊,登陆成功后界面如下,显示了很多东西,但是最引人瞩目的还是Cookie,后面的一串字符,很像是base64加密啊,上网解密后为admin,
在这里插入图片描述
2.burp拦截,放两次包到登陆成功界面后,得到
在这里插入图片描述
Cookie又是我们可控制的,可能存在注入,构造Cookie: uname=YWRtaW4n(这里uname内容就是admin'base64加密后得到的,还有一点,如果你找的在线base加密注入后没成功,可能是编码问题,你可以通过burp自带的编码器进行加密,因为burp的编码是自动判断编码方式的),果然存在注入,且根据错误提示可知后台语句为select,闭合方式为Cookie: uname=YWRtaW4nKSM=(明文:admin’)#)
在这里插入图片描述
3.找到注入点,闭合方式了,接下来问题就可以轻松解决了,sqlmap也是可以用的

Less-22

同Less-21是一样的操作,只是闭合方式为Cookie: uname=YWRtaW4iIw==(明文:admin"#)
POST篇搞定,明天开始搞过滤!!!冲!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值