Apr092020
Apr092020
Sqli-labs Less-23 绕过注释符过滤 union注入
关键源码如下
$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
print_r(mysql_error());
此处主要是在获取id参数时进行了#,–注释符号的过滤。
Solution:
http://127.0.0.1/sql/Less-23/index.php?id=-1′ union select 1,(se...阅读全文
Apr092020
Sqli-labs Less-22 cookie注入 base64编码 extractvalue()报错注入
本关和less20、less21是一致的,我们可以从源代码中看到这里对uname进行了”uname”的处理
$cookee = $_COOKIE['uname'];
$cookee = base64_decode($cookee);
$cookee1 = '"'. $cookee. '"';
$sql="SELECT * FROM users WHERE username=$cookee1 LIMIT 0,1";
$result=mysql_query($sql);
if (!$result)
{
die('Issue with your mysql: ' . mysql_error());
}
可以构造payl...阅读全文
Apr092020
Sqli-labs Less-21 cookie注入 base64编码 updatexml()报错注入
本关对cookie进行了base64的处理,其他的处理流程和less20是一样的。
关键代码
$cookee = $_COOKIE['uname'];
$cookee = base64_decode($cookee);
$sql="SELECT * FROM users WHERE username=('$cookee') LIMIT 0,1";
die('Issue with your mysql: ' . mysql_error());
我们这里可以利用less20同样的方法,但是需要将payload进行base64编码处理(注意这里对uname进行了 (‘uname&...阅读全文
Apr092020
Sqli-labs Less-20 cookie注入 extractvalue()报错注入
从源代码中我们可以看到cookie从username中获得值后,当再次刷新时,会从cookie中读取username,然后进行查询。
关键代码
$cookee = $_COOKIE['uname'];
$sql="SELECT * FROM users WHERE username='$cookee' LIMIT 0,1";
die('Issue with your mysql: ' . mysql_error());
修改登录成功后的请求,在Cookie: uname=admin后面加一个’,重放该请求
从上图可以看出,报SQL语法错误...阅读全文
Apr092020
Sqli-labs Less-19 Referer注入 updatexml()报错注入
从源代码中我们可以看到我们获取到的是HTTP_REFERER
$uagent = $_SERVER['HTTP_REFERER'];
$insert="INSERT INTO `security`.`referers` (`referer`, `ip_address`) VALUES ('$uagent', '$IP')";
echo 'Your Referer is: ' .$uagent;
print_r(mysql_error());
那和less18是基本一致的,我们从referer进行修改。
还是像less18一样,我们只给出一个示例
将referer修改为
1′ and ...阅读全文
Apr092020
Sqli-labs Background-5 HTTP头部介绍
在利用抓包工具进行抓包的时候,我们能看到很多的项,下面详细讲解每一项。
HTTP头部详解
1、 Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。
2、 Accept-Charset: 浏览器申明自己接收的字符集
Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)
...阅读全文
Apr092020
Sqli-labs Less-17 使用extractvalue()函数进行报错注入
本关我们可以看到是一个修改密码的过程,利用的是update语句,与在用select时是一样的,我们仅需要将原先的闭合,构造自己的payload。
尝试报错
Username:admin
Password:1′
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘admin” at line 1
可以看到 admin” 说明...阅读全文
Apr092020
Sqli-labs Background-4 数据库增删改函数介绍
在对数据进行处理上,我们经常用到的是增删查改。查就是我们上述总用到的select,这里就介绍了。接下来我们讲解一下mysql 的增删改。
(1)增加
insert into table_name (column1, column2, column3, …) values (value1, value2, value3, …);insert into table_name values (value1, value2, value3, …);
简单举例:insert into users values(’17’,’l...阅读全文
Apr092020
Sqli-labs Less-14 利用exp()函数造成double数值类型超出范围进行报错注入
本关我们直接进行测试,输入username:admin”
Pasword:(随意)
可以看到报错了,那么我们知道了id进行了 ” 的操作。
这里和less13一样,主要是利用盲注。可以使用布尔注入或者报错注入。
布尔注入,举例列一下payload:
uname=admin” and left(database(),1)>’n’#&passwd=1&submit=Submit
可以登录成功。
报错注入。
利用exp()函数造成doubl...阅读全文