欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

HDwiki二次注入案例分享

来源: 作者: 时间:2019-02-24 19:29 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

近期看到网上公布较多hdwiki最新版的安全漏洞,这里以我自己发现的二次注入漏洞进行分享。
0×01 白盒审计
源码信息:HDWiki-v6.0UTF8-20170209
问题文件: \hdwiki\control\comment.php
漏洞类型:SQL注入
首先进行安装之后主界面如下;

直接看存在问题的文件,路径为\hdwiki\control\comment.php
以及具体页面为词条评论的地方;

首先看下写评价部分代码;

这里的$comment参数就是我们提的评论,可以看到使用过滤函数进行安全处理,还有在/hdwiki/model/hdwiki.class.php文件里发现使用全局转义处理;

所以这里不存在问题,我们看下有没有会再次利用这个评论$comment参数,
还是在comment.php这个文件里,下面看到doreport()这个函数;

这个是用来对评论进行举报的,可以看到这段代码会从数据库取出对应评论之后和举报原因一并重新执行数据库操作;具体代码部分为;

这里的$comment[‘comment’]为评论部分,$report为举报原因合并进入send_ownmessage(),也就是二次注入了。
0×02 漏洞利用
首先看下send_ownmessage()函数为;

具体数据库操作语句为;
"INSERT INTO".DB_TABLEPRE."pms(`from`,`fromid`,`drafts`,`toid`,`to`,`subject`,`message`,`time`,`new`) VALUES  ('".$sendarray['user']['username']."','".$sendarray['user']['uid']."','".$isdraft."','".$userinfo[$i]['uid']."','".$userinfo[$i]['username']."','".$sendarray['subject']."','".$sendarray['content']."','".$this->base->time."',1)"
可以看到是INSERT语句,还有VALUES结尾有1这个常量,所以具体payload为;
Payload=4444444444’,(1=sleep(6)),1)#
首先对任意词条进行评论,输入以上payload;

之后点击下面的举报,理由任意填写;

之后提交,6秒之后将会提示举报成功,burp截图为;

显示为7秒,其中1秒是网站加载需要的时间,成功二次注入了。
 

近期看到网上公布较多hdwiki最新版的安全漏洞,这里以我自己发现的二次注入漏洞进行分享。
0×01 白盒审计
源码信息:HDWiki-v6.0UTF8-20170209
问题文件: \hdwiki\control\comment.php
漏洞类型:SQL注入
首先进行安装之后主界面如下;

直接看存在问题的文件,路径为\hdwiki\control\comment.php
以及具体页面为词条评论的地方;

首先看下写评价部分代码;

www.wnhack.com

这里的$comment参数就是我们提的评论,可以看到使用过滤函数进行安全处理,还有在/hdwiki/model/hdwiki.class.php文件里发现使用全局转义处理;

所以这里不存在问题,我们看下有没有会再次利用这个评论$comment参数,
还是在comment.php这个文件里,下面看到doreport()这个函数;

这个是用来对评论进行举报的,可以看到这段代码会从数据库取出对应评论之后和举报原因一并重新执行数据库操作;具体代码部分为;

这里的$comment[‘comment’]为评论部分,$report为举报原因合并进入send_ownmessage(),也就是二次注入了。

本文来自无奈人生安全网


0×02 漏洞利用
首先看下send_ownmessage()函数为;

具体数据库操作语句为;
"INSERT INTO".DB_TABLEPRE."pms(`from`,`fromid`,`drafts`,`toid`,`to`,`subject`,`message`,`time`,`new`) VALUES  ('".$sendarray['user']['username']."','".$sendarray['user']['uid']."','".$isdraft."','".$userinfo[$i]['uid']."','".$userinfo[$i]['username']."','".$sendarray['subject']."','".$sendarray['content']."','".$this->base->time."',1)"
可以看到是INSERT语句,还有VALUES结尾有1这个常量,所以具体payload为;
Payload=4444444444’,(1=sleep(6)),1)#
首先对任意词条进行评论,输入以上payload;
内容来自无奈安全网

之后点击下面的举报,理由任意填写;

之后提交,6秒之后将会提示举报成功,burp截图为;

显示为7秒,其中1秒是网站加载需要的时间,成功二次注入了。
 
本文来自无奈人生安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。