| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 攻防世界web进阶题笔记 -> 正文阅读 |
|
[PHP知识库]攻防世界web进阶题笔记 |
Web_php_include show_source()(与highlight_file()函数作用相同)函数的作用是将括号中的PHP文件高亮显示,而_FILE_是PHP中的常量,代表本PHP文件的绝对路径,因此show_source(_FILE_)即将本PHP文件高亮显示 strstr()函数:strstr($txt1,$txt2),查找txt2是否在txt1中存在,如果是则返回txt1中txt2及其后面的部分。因此while(strstr($page,?"php://"))即查找$page变量中有无包含php://,当没有时退出循环。 str_replace()函数:str_replace(“txt1”,”txt2”,”txt3”),将txt3中的txt1换成txt2。 Include()(函数(require()):引用文件中的内容并显示 因此可以推测答案或者答案的线索需要通过include()函数显示出来 该代码while循环的作用是过滤掉$page参数中的”php://”,因此可以推测php://配合include函数可以获得flag或flag的线索 协议:php:// ?用于访问PHP的各个输入输出流、标准输入输出和错误描述符,内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器
由此可以看出,将php://input代码通过$page插入include函数后,再通过post传入特定代码,即可查询网站中希望得到的信息。 在此介绍system函数 用法system($shell, $shell_return),$shell为shell命令,$shell_return为返回参数,成功为0,$shell_return非必要参数。 因此只需通过post传参,构造一个system函数的PHP文件,通过include函数执行,通过不同的shell命令即可逐步查询想要的信息。 解题思路:由于while循环将通过strstr()、str_replace()函数过滤代码php://,得知这两个函数对大小写敏感后,将$page值改为PHP://input即可绕过 然后再构造PHP文件, <?php system(‘ls’)?>查询网站根目录下所有文件名得知目录下有fl4gisisish3r3.php文件 <?php system(“cat fl4gisisish3r3.php”)?> 得到flagctf{876a5fca-96c6-4cbd-9075-46f0c89475d2} 法2:page=http://127.0.0.1/index.php/?hello=%3C?system(%22ls%22);?%3E 法3:蚁剑扫描后台,通过sql注入写入一句话木马,即可查看后台文件 PHP2 首先须知后缀名为phps的文件为php文件的源文件,可以通过查询phps文件来查看对应php文件的源码 查看index.phps后发现index.php的源码,首先进行代码审计 开头的if语句告诉我们id的值不能等于admin urldecodes()函数的作用是解码已编码的url字符串 故将admin字符串进行两次url编码,在url框处浏览器会自动将url编码解码一次,此时由于数据类型不同绕过if语句,在urldecode函数又将其进行一次解码,即可满足第二个if语句的条件,从而获得flag:cyberpeace{484f72489d53cfe7e30b3afb073176b6} php_rce ThinkPHP是PHP的一个框架,在网上搜索ThinkPHP V5.0版本的漏洞加以利用即可。 在刚开始的时候完全没有思路,类似框架的漏洞没办法像sql注入一样系统地学习,只能靠平时的积累,看其他博主的文章爆出的漏洞或者平时自己挖出的进行积累,不同的版本更新后会修补上一版本的漏洞,也会出现新的漏洞,这也是为什么网络空间安全需要不停地学习不停地与时俱进。 百度后得知该版本的ThinkPHP存在漏洞: ?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= 在其后添加相应的shell命令即可查询网站文件 ? ? ics-06 进入题目所描述位置后,用burpsuite爆破id的值,为啥会有这一步是我没想到的,爆出2333后将其输入url即可得到flag返回值 |
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/1 16:18:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |