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 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-13 布尔注入
本关我们输入username:admin’
Password: (随便输)
进行测试
可以看到报错了,错误为:
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 ‘1‘) LIMIT 0,1′ at line 1
可以看到上述中红色的字体,也就是 ‘) 我们可以知道程序对id进行了 ‘) 的处理。
我们...阅读全文
Apr092020
Sqli-labs Less-12 Union注入
本关和less11是类似的,只是在id 的参数的处理上有一定的不同
当输入username:admin”
Password:(随便)
报错后的结果为:
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 ‘ddd“) LIMIT 0,1′ at line 1
关注到上述的红色部分,也就是 “) 的部分,我们可以得知...阅读全文
Apr092020
Sqli-labs Less-9 延时注入
本关我们从标题就可以看到 “时间盲注-单引号”,所以很明显这关要我们利用延时注入进行,同时id参数进行的是 ‘ 的处理。这里我们大致的将延时注入的方法演示一次。
延时注入是利用sleep()或benchmark()等函数让MySQL的执行时间变长。延时注入多与if(expr1,expr2,expr3)结合使用。此if语句含义是:如果expr1是true,则if()的返回值为expr2;否则返回值则为expr3。
这里用sleep()函数。...阅读全文
Apr092020
Sqli-labs Less-8 布尔注入
查看源代码如下
$id=$_GET['id'];
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
if($row)
{
echo '<font size="5" color="#FFFF00">';
echo 'You are in...........';
echo "<br>";
echo "</font>";
}
else
{
echo '<font size="5" color="#FFFF00">';
//...阅读全文
Apr092020
Sqli-labs Less-7 利用文件导入进行注入
本关的标题是dump into outfile,意思是本关我们利用文件导入的方式进行注入。而在Background-3中我们已经学习了如何利用dump into file。
这里首先还是回到源代码中去。重点放在对id参数的处理和sql语句上,从源代码中可以看到
$id=$_GET['id'];
$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
if($row)
...阅读全文