客服QQ:872490018 服务时间:9:00-21:00

[php审计实战篇]BlueCms v1.6 Union注入

非常基础的代码审计练习,适合有php基础的审计新手练习

本文作者:Aedoo

来源:i春秋社区

0×01 代码跟踪

首先,进入首页代码 :index.php

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

包含了php文件:/include/common.inc.php

跟踪这个php文件,这些文件都是包含的全局文件。

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

这个php文件还是先包含了几个全局文件。

最主要的是上图最下方的if判断:

if(!get_magic_quotes_gpc())

{

$_POST = deep_addslashes($_POST);

$_GET = deep_addslashes($_GET);

$_COOKIES = deep_addslashes($_COOKIES);

$_REQUEST = deep_addslashes($_REQUEST);

}

如果未开启magic_quotes_gpc,则对以各种请求的数据使用deep_addslashes()进行过滤,跟踪一下这个函数:

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

对传入的的$str,无论是数组还是字符串,使用addslashes()进行过滤。

PS:magic_quotes_gpc=On的情况下,如果输入的数据有,单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被加上反斜线。这些转义是必须的,如果这个选项为off,那么我们就必须调用addslashes这个函数来为字符串增加转义。

0×02 注入分析

在phpstorm使用CTRL+SHIFT+F全局搜索:$_GET

寻找以GET方式传入的参数:

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

使用红框圈起来的这条有异常。

ad_id明显是文章或者广告的id,并没有使用intval强制转化为整数型而是使用了trim()函数来去除了前后的空格,有点看不懂。

此时还不能完全确定存在注入,跟踪到这行代码看一下:

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

这次确定,对传入的ad_id只判断了是否为空,去除了前后的空格,此外也就多了一个全局的addslashes()转义了一下特殊字符,直接进行了SQL查询。

将SQL语句传入了getone()函数,很明显getone是进行SQL查询的函数,跟进。

getone()函数:

function getone($sql, $type=MYSQL_ASSOC){

$query = $this->query($sql,$this->linkid);

$row = mysql_fetch_array($query, $type);

return $row;

}

query()函数:

function query($sql){

if([email protected]_query($sql, $this->linkid)){

$this->dbshow("Query error:$sql");

}else{

return $query;

}

}

 

第一个if,如果执行发生错误,将错误信息"Query errorsql"传入dbshow()函数。

dbshow()函数:

function dbshow($msg){

if($msg){

echo &quot;Error:&quot;.$msg.&quot;<br><br>&quot;;

}else{

echo &quot;Errno:&quot;.$this->errno().&quot;<br>Error:&quot;.$this->error();

}

exit;

}

作用是输出错误信息。

之后回到ad_js.php文件:

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

$ad_content输出查询信息。

输出形式:

<!–

document.write(&quot;test&quot;);

–>

 

0×03 构造Payload

正常的SQL查询语句为:

select * from blue_ad where ad_id=1

因为直接回显查询内容,所以直接union注入咯。

看一下数据库结构:
[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

我们需要的数据列名为admin_name和pwd,构造PayLoad:

执行后查看源码:

[php审计实战篇]BlueCms v1.6 Union注入-爱尖刀

 

0×04 源码下载及工具说明

 

回到文下载工具


[广告]赞助链接:


舆情监测,互联网舆情首选查舆情:http://www.chayuqing.com/

关注区块链技术落地与应用,碳链:http://www.itanlian.com/

四季很好,只要有你,文娱排行榜:http://www.yaopaiming.com/

*文章为作者独立观点,不代表 爱尖刀 立场
本文由 i春秋学院 授权 爱尖刀 发表,并经 爱尖刀 编辑。转载此文章须经作者同意,并请附上出处( 爱尖刀 )及本页链接。原文链接 http://www.ijiandao.com/safe/cto/83929.html
相关文章
计算机视觉应用背后 对深度学习框架有怎样的挑战
计算机视觉应用背后 对深度学习框架有怎…
企业需要为云计算制定网络安全事件响应计划
企业需要为云计算制定网络安全事件响应…
2018年12大顶级云安全威胁
2018年12大顶级云安全威胁
2018年的黑客攻击 你做好准备了吗?
2018年的黑客攻击 你做好准备了吗?
细数2017全球最惊心动魄的网络安全事件
细数2017全球最惊心动魄的网络安全事件
企业为何需要分别制定灾难恢复与安全恢复计划
企业为何需要分别制定灾难恢复与安全恢…
i春秋学院
ichunqiu 作者
培育信息时代的安全感
  • 文章

    115

  • 评论

    0

关注网络尖刀微信公众号
随时掌握互联网精彩

广告赞助