以CVE-2012-2316为例,总结一些已知Web软件漏洞重现的方法
来源:互联网 发布:网络主播最爱唱的歌 编辑:程序博客网 时间:2024/05/21 09:54
这段时间由于实验和演示的需求,需要找一些已知的漏洞(最好有CVE编号)的Java软件。之前也做过很多这样的工作,特别是找过很多PHP的CVE漏洞。这次把基本的方法总结一下,也方便其他童鞋。
如果知道软件的名字,可以直接在这里搜索:http://web.nvd.nist.gov/view/vuln/search,就我个人体会而言,nist的搜索速度比CVE快很多。接下来以我们之前的一个研究对象,OpenKM为例来说明。按名字搜索之后,可以看到OpenKM有3个有CVE编号的漏洞,其中两个还是12年9月份发现的。最新的一个CVE-2012-2316的解释里,说明了OpenKM 5.1.7版本有跨站请求伪造(Cross-site request forgery,CSRF)漏洞。
所以,我们在这里:http://sourceforge.net/projects/openkm/files/5.1/ 选择OpenKM的5.1.7版本下载,这个版本是基于JBOSS的,我之前压根就没有用过,不过其实和Tomcat,WebLogic相比,基本原理都差不多。将压缩包解压后,发现这个目录下:OpenKM-5.1.7_JBoss-4.2.3.GA\jboss-4.2.3.GA\bin 有“run.bat”(我们这里还是以Windows系统为例)。随便搜索一下,就可以发现很多介绍OpenKM安装和使用的文档,如http://wenku.baidu.com/view/ad85f8b769dc5022aaea0083.html 和http://blog.csdn.net/eebbk110/article/details/6289344 这两篇文档中介绍到,启动run.bat后,在本地登录:http://localhost:8080/OpenKM,管理员的用户名密码分别为:user: okmAdmin password: admin,尝试以后发现可以登录。(实际上大部分Web系统还是需要简单配置一下数据库之类的,但是也有很多系统为了演示方便,直接使用内存数据库,所以直接启动就可以使用。)
可以以管理员登录之后,我们来看看怎么利用这个漏洞:
在这个页面中:http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2316 实际上会给出许多参考资料的URL,而且实际上,基本上所有对漏洞详细介绍的内容,都会出现在邮件列表archive中。我们以第一个URL为例:http://www.osvdb.org/78106 这里面没有什么对漏洞详细的介绍,但是给出了邮件列表存档的链接地址,一般这类信息都是最有用的。我们选择第一个邮件列表存档的地址:http://archives.neohapsis.com/archives/bugtraq/2012-01/0008.html 进去以后仔细读一下,一般就能知道怎么利用了。
这个漏洞尤其简单,感兴趣的朋友可以试试:启动上面说的:run.bat之后,在 http://localhost:8080/OpenKM 中输入刚才说的管理员用户名密码,然后,我们假设这样一个场景,一个朋友给你发过来一个链接,或者你收到一封邮件,里面有一个看起来没有什么恶意的URL,例如:http://news.163.com/ ,但实际上这个链接已经被我改成了:
http://localhost:8080/OpenKM/admin/scripting.jsp?script=String+cmd+%3D+new+String%28"cmd+%2Fk+start+notepad"%29%3B+Runtime.getRuntime%28%29.exec%28cmd%29%3B
你如果点击以后,就会跳出来记事本!也就是说,黑客可以用这段链接实现几乎所有你这位管理员可以进行的操作(甚至可以删除文件、增加用户,truncate数据库),这就是跨站请求伪造的危害。上面URL的后面一部分实际上是这个代码:
String cmd = new String("cmd /k start notepad"); Runtime.getRuntime().exec(cmd);
至于代码转URL,有很多种方法,如果手头没有工具,可以直接把这段代码放到百度搜索框里,结果页面URL就包含了上面那一部分啦。
这些就是一些基本经验和方法,希望能对其他童鞋起到帮助作用。
- 以CVE-2012-2316为例,总结一些已知Web软件漏洞重现的方法
- 基于流量的CVE-2014-0160漏洞利用检测方法
- glibc CVE-2015-7547漏洞的分析和修复方法
- CVE-2012-1889漏洞利用
- cve-2012-0158漏洞分析
- cve-2012-1876漏洞分析
- Web安全 -- CVE-2016-10033漏洞
- 研究了下apache的漏洞CVE-2012-0053
- CVE-2013-5211漏洞整改方法
- Ewebeditor 的一些漏洞总结
- 常见的web漏洞总结
- Typora软件学习总结(这里以Mac版的为例)
- 总结一些上传漏洞利用方法
- 关于web打印的一些方法总结
- CVE公共漏洞和暴露的学习
- CVE公共漏洞和暴露的学习
- 对CVE-2011-0978漏洞的分析
- 漏洞都是怎么编号的CVE/CAN
- Android开发(28)--EditText实现输入QQ表情图像
- 静态导入和可变参数
- 51单片机P0口什么时候使用上拉电阻
- SQL Server2012 T-SQL对分页的增强尝试
- VB.NET中图像处理的一些技巧以及其和C#图像处理的差距。
- 以CVE-2012-2316为例,总结一些已知Web软件漏洞重现的方法
- ·嵌入式实时操作系统uC/OS-II中的任务管理
- 【译】一些优化你的SQL语句的TIPs
- WebDev.WebServer40.exe已停止工作
- BUAA集训队选拔赛
- Linux内核分析 - 网络[二]:网卡驱动接收报文
- AVL树的插入删除查找算法实现和分析-2(树高度法)
- DBA应该知道的一些SQL Server跟踪标记
- HTML5中DOM元素的querySelector/querySelectorAll的工作机制