| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 攻防世界-高手进阶区001-012 -> 正文阅读 |
|
[PHP知识库]攻防世界-高手进阶区001-012 |
新手的我,来到高阶区,做题做的真挺吃力的 001:baby_web打开页面,首页是1.php,根据题目提示,尝试访问index.php ?发现存在页面跳转,且响应码为302(代表index.php确实存在,但被重定向到了1.php): 查看访问index.php的数据包,发现请求包中存在flag: 002:Training-WWW-Robots打开网页,阅读英语: 根据前面的知识,访问robots.txt文件: ?显示不允许的文件,那我就访问下: 003:php_rce打开页面,就显示一个框架名: ?搜一下这个框架有什么漏洞,试一下这个漏洞: ?验证,利用system函数远程命令执行:(说明存在这个漏洞) ?查看当前目录下有什么内容: 往上找,找到flag: ?ls显示路径,看来是文件,用cat打开: 本题参考:ThinkPHP 5.x远程命令执行漏洞分析与复现 - 渗透测试中心 - 博客园 004:Web_php_include页面打开就是一段php代码: ?[小知识点] 方法一: 利用文件包含漏洞,用hello参数将执行命令显示: ?方法二: 利用php://input(可以读取没有处理过的POST数据): 005:ice-06打开是个管理系统,并且左边只有“报表中心”会有新页面: ?看到url里有id参数,首先进行爆破: id=2333时,长度不同: ?访问: 006:warmup打开网页,是个如此滑稽的表情包。。。 ?尝试访问source.php: ?出现hint.php文件,先尝试访问: 回到source.php,分析代码: [小知识点] 通过分析,可得到payload:?file=source.php?(payload) 或 ?file=hint.php?(payload) 一级一级往上找,找到flag: ? 本题参考:攻防世界-web高手进阶篇-warmup_iZer_0的博客-CSDN博客_攻防世界warmup 007:NewsCenter打开是个搜索框,那得试试sql; 通过查看数据包,可以看到数据通过POST提交;把网页放到sqlmap里跑跑:
有了: ?看数据库:
? ?看news库的表:
? ?爆secret_table表:
? 008:NaNNaNNaNNaN-Batman下载附件,打开,一堆乱码: ?其中可以看到开头的下划线是个变量,然后有一些html代码,判断应该是网页代码;将文件代码后面的eval()改为alert(),使之弹窗,并改后缀为html: 用网页访问,弹窗正常代码: ?将弹窗内容复制下来,整理一下: ?代码审计: 方法一: 构造字符串:be0f233ac7be98aa ?方法二: 将整理好的代码中,把限制条件全部删掉,直接运行flag核心代码部分: 009:PHP2打开网页,就一句话,查看源代码,也是啥也没有 上御剑: ?一开始一直只扫到index.php,看了别人的攻略,才知道有index.phps 🙄~ 打开index.phps,一段代码: 可以看到,代码中对传入参数id的值,进行了一次url解码,如果解码后的值等于admin,则得到flag,但因为浏览器会自动进行一次url解码,所以我们要将 "admin" 进行两次url编码
? 010:unserialize3打开网页,一段代码: 其中定义有xctf类,反序列化时会自动调用的__wakeup()函数; 整理代码,构造一个序列化后的字符串: ? [小知识点] 所以构造payload:
011:upload1打开网页,为文件上传,试着直接上传php文件或asp文件,页面直接弹出: ?判断为前端验证后缀;选择上传1.png,其中1.png中包含一句话木马: ?上传时,在BP抓包,将文件后缀改为php: ?上传成功,返回保存路径: ?用菜刀连接: ? 012:Web_python_template_injection打开页面,提示为python模板注入: 判断是否存在ssti漏洞: ?说明存在ssti漏洞 ?[小知识点] 因为提示为python注入,所以注入脚本肯定也是python,这时尝试得到"os.system"或"os.popen",前者返回“退出状态码”,后者以file形式返回“输出内容”,所以我们选择"os.popen"。 [小知识点] 查看所有模块:
? ?上面爆出的信息中,可得到"os"所在的"site._Printer"在第72位("__subclasses__()[72]")
?将上面的ls改为 "cat fl4g":
这题我感觉好难,涉及知识盲区了😅 但学到新知识了👍 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 16:43:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |