sqli-labs:less-21

2023-11-04

 

 和20题很像。

 然后一看cookie是一个base64编码的,解码一下,是Dumb。

所以cookie一个是注入点,只是有个base64编码

随便提一下:

base32 只有大写字母和数字数字组成,或者后面有三个等号。

base64 只有大写字母和数字,小写字母组成,后面一般是两个等号。

 这样也就是要将原来的注入语句进行base64编码以后在放到cookie中进行注入。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Less-21 Cookie Injection- Error Based- complex - string</title>
</head>

<body bgcolor="#000000">
<?php
//including the Mysql connect parameters.
	include("../sql-connections/sql-connect.php");
if(!isset($_COOKIE['uname']))
	{
	//including the Mysql connect parameters.
	include("../sql-connections/sql-connect.php");

	echo "<div style=' margin-top:20px;color:#FFF; font-size:24px; text-align:center'> Welcome&nbsp;&nbsp;&nbsp;<font color='#FF0000'> Dhakkan </font><br></div>";
	echo "<div  align='center' style='margin:20px 0px 0px 510px;border:20px; background-color:#0CF; text-align:center;width:400px; height:150px;'>";
	echo "<div style='padding-top:10px; font-size:15px;'>";
 

	echo "<!--Form to post the contents -->";
	echo '<form action=" " name="form1" method="post">';

	echo ' <div style="margin-top:15px; height:30px;">Username : &nbsp;&nbsp;&nbsp;';
	echo '   <input type="text"  name="uname" value=""/>  </div>';
  
	echo ' <div> Password : &nbsp; &nbsp; &nbsp;';
	echo '   <input type="text" name="passwd" value=""/></div></br>';	
	echo '   <div style=" margin-top:9px;margin-left:90px;"><input type="submit" name="submit" value="Submit" /></div>';

	echo '</form>';
	echo '</div>';
	echo '</div>';
	echo '<div style=" margin-top:10px;color:#FFF; font-size:23px; text-align:center">';
	echo '<font size="3" color="#FFFF00">';
	echo '<center><br><br><br>';
	echo '<img src="../images/Less-21.jpg" />';
	echo '</center>';





	
function check_input($value)
	{
	if(!empty($value))
		{
		$value = substr($value,0,20); // truncation (see comments)
		}
		if (get_magic_quotes_gpc())  // Stripslashes if magic quotes enabled
			{
			$value = stripslashes($value);
			}
		if (!ctype_digit($value))   	// Quote if not a number
			{
			$value = "'" . mysql_real_escape_string($value) . "'";
			}
	else
		{
		$value = intval($value);
		}
	return $value;
	}


	
	echo "<br>";
	echo "<br>";
	
	if(isset($_POST['uname']) && isset($_POST['passwd']))
		{
	
		$uname = check_input($_POST['uname']);
		$passwd = check_input($_POST['passwd']);
		
	

		
		$sql="SELECT  users.username, users.password FROM users WHERE users.username=$uname and users.password=$passwd ORDER BY users.id DESC LIMIT 0,1";
		$result1 = mysql_query($sql);
		$row1 = mysql_fetch_array($result1);
			if($row1)
				{
				echo '<font color= "#FFFF00" font size = 3 >';
				setcookie('uname', base64_encode($row1['username']), time()+3600);	
				
				echo "I LOVE YOU COOKIES";
				echo "</font>";
				echo '<font color= "#0000ff" font size = 3 >';			
				//echo 'Your Cookie is: ' .$cookee;
				echo "</font>";
				echo "<br>";
				print_r(mysql_error());			
				echo "<br><br>";
				echo '<img src="../images/flag.jpg" />';
				echo "<br>";
				header ('Location: index.php');
				}
			else
				{
				echo '<font color= "#0000ff" font size="3">';
				//echo "Try again looser";
				print_r(mysql_error());
				echo "</br>";			
				echo "</br>";
				echo '<img src="../images/slap.jpg" />';	
				echo "</font>";  
				}
			}
		
			echo "</font>";  
	echo '</font>';
	echo '</div>';

}
else
{



	if(!isset($_POST['submit']))
		{
			$cookee = $_COOKIE['uname'];
			$format = 'D d M Y - H:i:s';
			$timestamp = time() + 3600;
			echo "<center>";
			echo "<br><br><br><b>";
			echo '<img src="../images/Less-21.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);
			
			$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'];
			  	}
			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>';
		}	
	else
		{
		echo '<center>';
		echo "<br>";
		echo "<br>";
		echo "<br>";
		echo "<br>";
		echo "<br>";
		echo "<br>";
		echo '<font color= "#FFFF00" font size = 6 >';
		echo " Your Cookie is deleted";
				setcookie('uname', base64_encode($row1['username']), time()-3600);
				header ('Location: index.php');
		echo '</font></center></br>';
		
		}		


			echo "<br>";
			echo "<br>";
			//header ('Location: main.php');
			echo "<br>";
			echo "<br>";
			
			//echo '<img src="../images/slap.jpg" /></center>';
			//logging the connection parameters to a file for analysis.	
		$fp=fopen('result.txt','a');
		fwrite($fp,'Cookie:'.$cookee."\n");
	
		fclose($fp);
	
}
?>

</body>
</html>

 所以判断应该是一个单引号叫一个括号的注入。

其他就和正常注入一样进行就好了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqli-labs:less-21 的相关文章

  • CTFSHOW【萌新计划】Writeup

    CTFSHOW 萌新计划 web1 萌新计划 web2 萌新计划 web3 萌新计划 web4 萌新计划 web5 萌新计划 web6 萌新计划 web7 萌新计划 web8 萌新计划 web9 萌新计划 web10 萌新计划 web11
  • volatility内存取证分析与讲解(持续更新)

    volatility内存取证分析与讲解 0x01 volatility的安装 0x02 基本使用 0x03 取证实战 持续更新 0x04 总结 0x01 volatility的安装 本人暂时只使用windows下的volatility进行取
  • ctfshow- web1(50 point)

    0x00 前言 CTF 加解密合集 CTF Web合集 0x01 题目 0x02 Write Up 首先映入眼帘的是登录界面 尝试弱口令无果 可以注册 尝试注册一个账号 通过url发现这里是通过order by进行了排序 测试发现一共5个字
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • 攻防世界Web题 - unseping 总结

    攻防世界Web题 unseping 总结 1 审题 进入题目 可以看出来是典型的php反序列化题目 2 源代码分析
  • Bugku题目MISC部分(持续更新)

    目录 telnet 1和0的故事 这是一张单纯的图片 隐写 社工 进阶收集 来自论坛提问 gQiRf的附件 zip 简单取证1 mimikatz PasswareKitForensic工具 眼见非实 啊哒 ping FileStoraged
  • 某**集团夺旗赛的一道隐写题

    解压压缩包 解压出来一个文件file 使用file命令进行查看 发现是data 010查看也无果 看到标题是logistic联想到是否与xor文件有关 遂使用工具xortool 工具在此 xortool file 选概率最大的那个 13 x
  • SAR: 1 4 https://www.vulnhub.com/entry/sar-1%2C425/

    SAR 1 About Release Back to the Top Name Sar 1 Date release 15 Feb 2020 Author Love Series Sar Download Back to the Top
  • 攻防世界 inget

    打开网页提示 Please enter ID and Try to bypass 输入id绕过 尝试一下万能钥匙 尝试要不要符号闭合 http 61 147 171 105 49280 id 1 or 1 1 加个单引号成功 http 61
  • php伪随机数

    目录 函数介绍 代码测试 考点 1 根据种子预测随机数 2 根据随机数预测种子 函数介绍 mt srand 播种 Mersenne Twister 随机数生成器 mt rand 生成随机数 简单来说mt srand 通过分发seed种子 然
  • NEZUKO: 1——202201152003

    NEZUKO 1 202201152003 About Release Back to the Top Name nezuko 1 Date release 21 Aug 2019 Author yunaranyancat Series n
  • Android_CTF: kgb_messenger

    环境 kgb messenger apk 测试机 OnePlus Andorid 9 1 Alerts 安装该apk后 使用发现如下的界面 用 jadx 反编译该 apk 搜索字符串 Russian 在MainActivity中发现了以上字
  • CTF图片隐写题

    1 隐藏在图片属性里的信息或者以文本形式打开能直接获取的信息 例如实验吧里的一道题 这个背影我给满分 就是将信息隐藏在属性里 又或者文本形式能直接看到的 分别是黑客榜中榜游戏和南邮平台的两道题
  • 攻防 & 渗透 & Kali笔记(持续更新)

    0x00 写在前面 本来是记录kali用法的一篇文章 后来就慢慢变成了记录攻防 渗透测试 Kali用法的文章了 本来信息安全就涉及到方方面面就是个大杂烩 0x01 John the Ripper john爆破需要一个shadow文件 推荐使
  • BUUCTF [CSAWQual 2019]Web_Unagi 1

    BUUCTF CSAWQual 2019 Web Unagi 1 提示在 flag 有提示了上传xml文件及其格式 直接用之前xml注入的上传即可 改文件名为1 xml上传即可得flag gt
  • BUUCTF [极客大挑战 2019]Knife

    打开一看结合题目 就是连接一下菜刀蚁剑 菜刀没用过只有蚁剑 下面用蚁剑实现 设置好URL和链接密码 找到flag文件 打开后找到flag 文件上传漏洞 一句话木马 php Asp Aspx 前端判断文件后缀名可以Burp Suite配置好P
  • web做题记录(buuoj,jarvis,攻防世界,bugku,hackme)

    web做题笔记 文章目录 web做题笔记 buuoj easy tornado 随便注 warmup easysql 高明的黑客 jarvisoj re flag在管理员手上 api调用 chopper 图片上传漏洞 inject web
  • CTFShow-WEB入门篇--信息搜集详细Wp

    CTFShow WEB入门篇详细Wp 信息收集 web1 web2 web3 web4 web5 web6 web7 web8 web9 web10 web11 web12 web13 web14 web15 web16 web17 web
  • Java安全知识share

    这里简单的介绍一下自己创建的知识星球 为什么要用知识星球呢 一方面他有APP然后方便使用里面的文章标签等功能 另一方面可能有一点点 哈哈哈 总的来说是方便使用 该知识星球包括Java相关的安全知识和其他相关的安全知识php nodejs C
  • GET报错注入(Sqli-labs第一题详解)

    文章目录 一 找注入点 二 order by判断列数 三 union联合注入 判断数据显示点 四 爆库 爆表 一 找注入点 单引号注入题目 在参数后面加一个单引号 id 1 数据库报错 单引号匹配出错 即添加的单引号成功被数据库解析 可以通

随机推荐

  • MyBatis 快速学习01:第一个程序

    目录 MyBatis简介 什么是MyBatis 为什么需要MyBatis MyBatis框架部署 项目目录结构 搭建实验数据库 创建maven项目 添加mybatis依赖 编写mybatis配置文件 编写MyBatis工具类 创建实体类 编
  • 旧版本Ubuntu安装magick出现undefined symbol的解决思路

    太长不看版 magick的安装需要底层的imagemagick支持 Ubuntu16 04由于版本老旧 安装的旧版imagemagick无法使用 使用spack自己安装新版 可以解决编译问题 果子老师向我求助 让我帮忙安装一个R包 magi
  • 与或非逻辑符号_基本逻辑运算

    今天我给大家分享的是逻辑运算 因为在实际中 我们遇到的逻辑问题是多种多样的 所以我跟大家唠叨一下我自己对逻辑运算的理解分享给各位 逻辑运算 与运算 与运算就是相当于乘法口诀 两个数相乘的结果 也可以理解为输入有0 则输出为0 逻辑表达式 F
  • javascript原生项目:剑网三

    javascript原生项目 剑网三 技术 html css javascript 页面 欢迎页 游戏列表页 充值页 登录页 项目效果 ps 项目源码文件评论区见
  • 『数据结构』跳跃表

    本篇博客主要介绍一下跳跃表的原理和简单实现 什么是跳跃表 增加了向前指针的链表叫做跳表 跳表全称跳跃表 简称跳表 跳表是一个随机化的数据结构 实质就是一种可以进行二分查找的有序链表 跳表在原有的有序链表上面增加了多级索引 通过索引实现快速查
  • 七种经典排序算法小记

    首先要感谢MoreWindows的心得分享 通过他的文章 我更深入了解了这七种排序算法的思路 同时 也自己揣摩 手动敲代码实现了这些算法 为了加深理解 又给每一行代码加了注释 在此 特记下学习这七种排序算法的过程和心得 补充 冒泡排序 直接
  • Qt绑定UI界面和Qt类的四种方法

    1 Qt类头文件中 声明命名空间 namespace Ui class Widget 声明UI指针对象 public explicit Widget QWidget parent 0 private Ui Widget ui 源文件的构造函
  • webpack

    一 区别 前面两节我们有提到Loader与Plugin对应的概念 先来回顾下 loader 是文件加载器 能够加载资源文件 并对这些文件进行一些处理 诸如编译 压缩等 最终一起打包到指定的文件中 plugin 赋予了 webpack 各种灵
  • 拓世AIGC

    在 机器 自然力和科学的应用 一书中 马克思曾指出 火药 指南针 印刷术 这是预告资产阶级社会到来的三大发明 火药把骑士阶层炸得粉碎 指南针打开了世界市场并建立了殖民地 而印刷术则变成了新教的工具 这段话深刻阐释了科学技术对人类社会带来的深
  • 深度学习中的token和tokenization

    作为一名即将入学的研究生 在这个假期准备看一些论文为自己的科研做准备 结果刚开始就出现了停顿 在论文中出现了名词token 我无法对它做出很好的翻译 导致论文读不下去 网上对它的解释多种多样 经过查阅学习后 我的理解如下 我阅读的是英文文献
  • MySQL字符编码的修改及查看

    MySQL字符编码的修改及查看 1 修改MySQL的默认编码集 也称全局编码集 修改MySQL的全局配置文件 etc my cnf 在其中添加 character set server utf8 编码格式 collation server
  • C++11中Lambda表达式的基本用法和总结

    文章目录 前言 lambda的基本形式 lambda中的捕获列表 的常用方式 lambda表达式中mutable关键字 lambda作为形参传参的用法 前言 对于Lambda表达式 其实本质就是一个函数 其用法也和函数差不多 只不过它和函数
  • 简单了解JVM

    jvm作用 把一套程序在不同的平台上运行 可以实现自动的内存管理 自动的垃圾回收 jvm分为四大结构 1 类加载系统 负责从硬盘上加载字节码文件 2 运行时数据区 存储时的数据 分为栈 方法区 堆 本地方法栈 程序计数器 3 执行引擎 负责
  • Oracle入门笔记(二)——SQL Developer的基本使用

    Oracle各种连接和连接配置 1 Oracle自带SQL plus工具的使用 2 Navicat连接Oracle 3 SQL Developer连接Oracle 4 Oracle表空间 4 1永久表空间 4 2临时表空间 5 SQL De
  • 微信小程序实现画布生成海报功能

    微信小程序可以通过使用 标签来实现生成海报的功能 以下是基本实现步骤 1 在 WXML 文件中创建一个 标签 并设置其宽度和高度属性
  • MySQL磁盘使用率是什么_磁盘利用率和饱和度理解

    在这篇文章里 会介绍磁盘利用率 Utilization 和饱和度 Saturability 相关的知识 在之前的博客里面 我写了一些关于CPU使用率和饱和度之间有什么实质性不同 以及CPU使用率 饱和度如何从不同维度影响响应时间 RT 的文
  • lua 取一个数字的整数部分

    lua在对两个整数进行除法操作时不会向C那样将结果转换成整数 而是自动转换成浮点数 lua没有数据类型之分 如果要实现此功能需要取得结果中的整数部分 math ceil x Returns the smallest integer larg
  • Redis 持久化机制详解

    Redis是内存数据库 数据都是存储在内存中 为了避免进程退出导致数据的永久丢失 需要定期将Redis中的数据以某种形式 数据或命令 从内存保存到硬盘 当下次Redis重启时 利用持久化文件实现数据恢复 除此之外 为了进行灾难备份 可以将持
  • 首次进入小程序拒绝相机权限,再次允许camera组件显示不出来

    第一次进去拒绝授权开启摄像头后 再次进去允许授权 但是页面camera组件显示不出来 百度了一下 大家都说直接给camera组件写个显示隐藏 试过了 不是很理想 最终想到的解决办法 拒绝授权后进入的方法 官方的函数名 handleCamer
  • sqli-labs:less-21

    和20题很像 然后一看cookie是一个base64编码的 解码一下 是Dumb 所以cookie一个是注入点 只是有个base64编码 随便提一下 base32 只有大写字母和数字数字组成 或者后面有三个等号 base64 只有大写字母和