基本漏洞原理及防御(5)-XXE
1.基本漏洞原理及防御(1)-sql注入2.sqlmap入门(1)3.基本漏洞原理及防御(3)-DOM XSS4.其他漏洞原理及防御(2) -逻辑漏洞5.其他漏洞原理及防御(1)-反序列化漏洞6.基本漏洞原理及防御(2)XSS(3)DOM XSS7.传统防火墙,WAF,IPS/IDS的原理与异同8.代理与反向代理9.基本漏洞原理及防御-(5)XXE(6)-文件包含
10.基本漏洞原理及防御(5)-XXE
11.mysql与sql语句的基本操作(3部分)12.云;云计算;云安全13.基本漏洞原理及防御(4)-CSRF14.WAF详解,检测与一些绕过方法15.基本漏洞原理及防御(11)-DOS:CC攻击16.基本漏洞原理及防御(10)-DOS:反射型Dos17.基本漏洞原理及防御(9)-DOS:基于资源耗尽的拒绝服务18.wireshark分析攻击流量的简单尝试19.wireshark分析攻击流量的简单尝试20.基本漏洞原理及防御(8)-DOS:基于内核处理的停止服务21.常见协议功能和端口22.基本漏洞原理及防御(7)-网站挂马23.github访问困难/缓慢的问题解决24.什么是堡垒机25.访问请求的后台操作、ip和域名(详解)XXE:XML External Entity(XML外部实体)
XML:xml是一种标记语言,用来标记电子文件,从而使得电子文件具有一定的格式和结构性,是一种用户可以自己定义的标记语言。
XML文档包括:XML声明,DTD文档类型定义,文档元素
1.漏洞产生原理:当允许对XML外部实体进行引用时,未对外部实体进行严格的审查过滤,从而导致恶意内容上传。
2.漏洞利用原理:攻击者利用外部实体的引用,向引用位置构造恶意内容或者脚本,从而在此处执行恶意操作。例如插入查询的语句,就可以查询系统文件。
或者将恶意内容以DTD的格式传入引用,可以达成任意文件读取。
3.回显问题:有些返回的情况是由php格式携带信息,而由于php代码会因为浏览器的解析原因而无法显示,这时候用base64编码一次,就可以显示出返回信息。
4.漏洞危害:任意文件读取
5.漏洞防御:
(1)使用开发语言提供的禁用外部实体的方法
PHP:
libxml_disable_entity_loader(true);
JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
Python:
from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
(2)过滤用户提交的XML数据
关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架