碳基体

奋斗在产品安全第一线的安全妹子

[科普]什么是 billion laughs-WordPress与Drupal的DoS攻击有感

这周最红的洞,无疑是 WordPress与Drupal xmlrpc.php引发的 DoS攻击 ,究其原理就是针对XML处理的一种叫billion laughs的攻击方式。


《web安全测试 》第5.10上传恶意XML实体文件这一章节就很清楚的介绍了这一攻击 。


攻击原理:构造恶意的XML实体文件耗尽可用内存,因为许多XML解析器在解析XML文档时倾向于将它的整个结构保留在内存中。


恶意XML结构示例:



生成脚本 :

https://github.com/tanjiti/perl_tools/blob/master/billionlaughs.pl

将生成的恶意XML文件的后缀改为xml,使用存在XML处理问题的XML处理器中打开(Windows XP就存在整个问题),然后就可以体验到死机的冻结感了。


我们看看流传的xml128.py PoC,实际就是向目标路径POST如下格式的XML内容,来耗尽内存

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE lolz [

<!ENTITY poc "aaa....">

]>

<lolz>&poc&poc.....</lolz>


参考:

《Web安全测试》

https://www.breaksec.com/?p=6362

来源:碳基体

评论