[BugKu]getshell

解混淆

把php代码拿到notepad++中去解混淆,可以一步一步的去解(很简单的,就是把混淆的变量名给换成真实的值),也可以直接用现成的解混淆工具去解,网上一大堆解混淆的这里不多说。

最终把shell的密码拿到如图

绕过disable_functions

使用蚁剑连接后,点击任意文件发现报错权限不够

到虚拟终端尝试发现也不行。

这时候我就想到是不是考的是函数禁用,随即就去查看禁用的函数,发现禁用了很多,但是有个关于这题的没禁用,error_log()

然后再检验是否有上传文件的权限,发现是没问题。

LD_PRELOAD变量劫持

我这里因为蚁剑用不了该辅助功能,所以只能手动

这里对于原理不做过多介绍,原理见:无需sendmail:巧用LD_PRELOAD突破disable_functions - FreeBuf网络安全行业门户

编写c语言

编译成可共享链接

将hack.so上传到网站

然后再上传一个php文件,这里的路径一定要有访问权限,一般是/tmp下的,只是这道题是这样

然后就是访问该php文件,目录下就会生成一个txt文件

接下来就是重复刚才的操作,不过是把命令换成读取flag文件,不过我这里遇到了个问题有,重新上传hack.so时要先删除了再上传,不然还是原来的hack.so。

### BugKu CTF Web 解题思路与漏洞利用技巧 #### 题目概述 BugKu CTF 是一个经典的网络安全竞赛平台,其中的 Web 类型题目涵盖了多种常见的安全漏洞和技术挑战。通过分析已有的解题思路和资源[^1],可以总结出一些通用的技术要点。 #### 常见漏洞类型及其解决方法 以下是几个典型的 BugKu CTF Web 题目的常见漏洞以及对应的解决方案: 1. **滑稽计算器** - 这道题目主要考察的是简单服务器端模板注入 (SSTI) 的原理。攻击者可以通过构造特定输入来触发服务端执行恶意代码[^2]。 - 方法一:尝试提交 `{{config}}` 来获取配置信息。 - 方法二:进一步探索是否存在未过滤的关键字如 `__class__` 或其他 Python 特殊属性[^3]。 2. **GET 和 POST 请求处理** - 此类题目通常涉及参数传递的安全性验证不足问题。例如,在某些情况下,开发者可能仅对 GET 参数进行了严格校验而忽略了 POST 数据中的潜在威胁[^4]。 - 利用 Burp Suite 抓取请求并修改字段值是一种有效手段。 3. **文件上传绕过机制** - 文件名检查不充分或者 MIME 类型判断错误可能导致任意脚本被执行的情况发生。比如 `.php.jpg` 可能会被识别成图片却仍然保留 PHP 脚本功能。 ```python import requests files = {'file': ('shell.php', open('payload.php', 'rb'), 'image/jpeg')} response = requests.post(url='http://example.com/upload', files=files) print(response.text) ``` 4. **Cookie 操纵技术** - 如果应用依赖于客户端存储敏感数据,则容易受到会话劫持攻击的影响。学习如何伪造合法用户的 session token 就显得尤为重要。 5. **正则表达式匹配缺陷** - 当程序试图解析复杂字符串模式时可能会暴露出性能瓶颈甚至远程命令执行风险。因此了解目标语言内置库的行为特性至关重要。 6. **目录遍历与路径穿越防护措施** - 未经适当编码转换后的用户可控变量很可能造成非法读写操作。务必确认框架是否已经提供了相应的保护函数。 --- #### 实践建议 为了更好地掌握这些技能点,推荐按照如下方式进行训练: - 安装本地虚拟机环境运行 Kali Linux 平台; - 使用 Git 工具克隆官方提供的测试站点副本以便反复试验不同场景下的表现差异; - 结合在线文档深入理解每种协议的工作流程及其实现细节; ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值