失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 齐博 php7 PHP代码审计理解(二)----齐博CMS7.0文件覆盖

齐博 php7 PHP代码审计理解(二)----齐博CMS7.0文件覆盖

时间:2018-12-08 02:15:37

相关推荐

齐博 php7 PHP代码审计理解(二)----齐博CMS7.0文件覆盖

0x00 前言

因为我是跟着视频操作的,这回真的没理解为什么定位到了这个存在漏洞的文件。。。/do/fujsarticle.php

因为没有前文,所以这里无法分析这个$FileName为什么可以$_GET传值,此处我只看结果。

后来看的时候发现可以逆推过来,应该是本来有哪个功能用到fujsarticle.php文件,这里就不纠结了。

0x01 操作

在包含全局配置文件前后输出一下这个变量$FileName。

可以看到文件包含后的变量被改写了,test.php写入成功。可以看到do文件夹下会生成一个文件,内容与你选的type有关。

意思就是可以任意生成文件,但不能自定义其内容,并且是覆盖性质的,[w]写入新文件。这里就可以去覆盖掉重要的配置文件,使其失去初始化配置。比如说,我们的数据库初始文件。

C:\phpStudy\PHPTutorial\WWW\qibo_v7\data\mysql_config.php

/**

* 以下变量需根据您的服务器说明档修改

*/

$dbhost = 'localhost'; // 数据库服务器(一般不必改)

$dbuser = 'root'; // 数据库用户名

$dbpw = 'root'; // 数据库密码

$dbname = 'qibo7'; // 数据库名

$pre='qb_'; // 网站表区分符

$database = 'mysql'; // 数据库类型(一般不必改)

$pconnect = 0; // 数据库是否持久连接(一般不必改)

$dbcharset = 'gbk'; // 数据库编码,如果出现网页乱码,你可以尝试改为gbk或latin1或utf8或big5,即可解决

?>

可以看到,这样操作后,数据库连接受到破坏,已经不能正常访问网站。

http://192.168.79.147/qibo_v7/do/fujsarticle.php?type=pic&FileName=../data\mysql_config.php

我们可以打开该配置文件看看

接下来是写入变量,重新写入数据库连接的变量。

http://192.168.79.147/qibo_v7/index.php?dbhost=localhost&dbuser=root&dbpw=root&dbname=qibo7&pre=qb_&database=mysql&pconnect=0&dbcharset=gbk

这里是设置连接数据库的ip和口令,及数据库名,类型等。

理论上来讲我们是可以用自己建的数据库去替代,但是这在漏洞利用中有些鸡肋,因为,即便如此,你也无法获得他本来的数据。

然鹅!这真的不是很可用的漏洞,你在访问其他的页面时还得每次都赋值,因为这些变量不会写到配置文件中去。

以上,此次学习又让我长见识了啊~

标签:文件,php,CMS7.0,配置文件,齐博,数据库,写入,PHP,变量

来源: /foe0/p/12048352.html

如果觉得《齐博 php7 PHP代码审计理解(二)----齐博CMS7.0文件覆盖》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。