攻防世界web区 难度等级:2(upload1,web2,Web_php_include,supersqli,warmup)

攻防世界web题 难度等级:2

1.upload1

从页面可以看到这是文件上传然后getshell。直接上传shell看看

前端回显,f12查看源码

发现是前端过滤,修改后缀名抓包,再修改上传

上传成功,蚁剑连接http://61.147.171.105:49920/upload/1657597220.webshell.php

文件管理找到flag。

2.web2

审计代码,首先strrev()函数进行反转,substr()一个字符一个字符的截取,ord()转换ascll值+1再chr()转换为字符,最后拼接在一起,进行base_64编码,再反转,再str_rot13移位13位字母得到密文。逆转加密算法即可得到flag。

编辑程序,得到flag。

3.Web_php_include

这里考察文件包含漏洞,审计代码

可以看到用replace对php://字符进行了过滤,但是strstr()对大小写不敏感,因此我们可以用大小写绕过过率,用bp发包POST传输恶意代码执行系统命令。


再打开文件fl4gisisish3r3.php,找到flag
在这里插入图片描述

4.supersqli

sql注入题,首先检测注入点输入1’ --+可以正常运行

在这里插入图片描述
查看目前表的全部内容
在这里插入图片描述
猜解字段
在这里插入图片描述
尝试联合查询爆数据库名
在这里插入图片描述
这里对select等字符进行了过滤,先尝试堆叠注入。
在这里插入图片描述
堆叠注入可行,查看表名,可以看到有两个表
查看列
在这里插入图片描述

在这里插入图片描述
可以看到我们的目标在这个数字表中。由于大部分语句都被过滤了,可以使用handler语句来查询
在这里插入图片描述
具体handler使用可参考https://blog.csdn.net/m0_51607644/article/details/113928386

5.warmup

题目是一张图片,先查看源码,发现有个source.php的提示
在这里插入图片描述
访问得到源码
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5dbe3918cfb44fbbbbc7761a34f9488.png
通过代码审计我们发现这是个文件包含,并有白名单,接下来就是白名单绕过了。先访问白名单hint.php可以看到提示
在这里插入图片描述
得到了flag的文件名,接下来就是让文件包含这个文件,得到flag。ffffllllaaaaggg不在白名单内我们首先要绕过白名单。
在这里插入图片描述
通过审计,发现他会截取第一次出现?前的字符,我们可以在包含文件前加上source.php?截取之后就是source.php符合白名单。但是输入?file=source.php?ffffllllaaaagggg之后发现还是没有看到问价,可能文件不在同一目录下,通过加…/来寻找文件所在目录
在这里插入图片描述

在这里插入图片描述

成功找到flag

### 推荐的网络安全攻防 Web 学习资源 以下是几个推荐的学习资源,这些资料可以帮助初学者了解网络安全攻防的基础知识并逐步深入: #### 1. **Web 安全基础** - 可以从一份名为《Web安全攻防入门教程》的内容入手,它提供了关于 Web 安全的基础概念、常见的攻击类型及其防御技术的详细介绍[^1]。此教程适合那些刚开始接触 Web 安全领域的人。 #### 2. **系统化的学习路径** - 对于更全面的知识体系,《网络安全入门 5 天速成教程-WEB 安全渗透攻防技术》是一个不错的选择。该文档不仅包含了网络协议分析,还涉及漏洞利用和内网渗透等方面的技术细节[^2]。这份笔记经过精心整理,能有效减少学习过程中的混乱感。 #### 3. **综合性的网络安全指南** - 如果想进一步扩展视野,则可以参考《网络安全攻防:概述》,其中除了涵盖基本的安全法规外,还包括了渗透测试技巧、具体漏洞解析等内容[^3]。这对于构建完整的网络安全知识框架非常有帮助。 #### 4. **实践导向的演练材料** - 关于如何实际操作层面提升自己的技能水平,《网络攻防演练.网络安全.学习》这篇文章给出了很好的指导方向。文章强调通过模拟真实环境下的攻击行为来进行训练,并指出哪些方面需要特别注意[^4]。 ```python # 示例代码展示简单的SQL注入防护措施 def safe_query(user_input): sanitized_input = escape_special_characters(user_input) # 使用函数转义特殊字符 query = f"SELECT * FROM users WHERE username='{sanitized_input}'" return execute(query) def escape_special_characters(input_string): special_chars_map = { "'" : "''", "\"" : "\"\""} escaped_str = input_string.translate(str.maketrans(special_chars_map)) return escaped_str ``` 上述 Python 函数展示了防止 SQL 注入的一个简单例子,体现了理论联系实际的重要性。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值