门户网站XML实体注入漏洞(XXE)修改的问题
门户网站测试发现高危漏洞。
但是门户网站都是静态html页面,没有post请求,看测试报告的案例,也没有针对哪一个交互的接口。在测试报告中提出的两个修改方案,也都是网上普遍提出的两个。1,是java代码中添加代码。2,是增加过滤条件,过滤SYSTEM等。
现在的问题有两个
1,这个post请求是在哪里解析xml文件,并且执行xml文件中的内容的(测试用burp suite,xml文件中是具体访问某一个网站地址,通过查看网站的访问记录,测试是否解析xml文件)。在给的测试的post请求中并不能看出针对哪一个与后台交互的接口,而且门户网站一般都是html页面,并不会产生后台数据交互。
2,如果需要按网上那些方法改的话,应该具体在哪里改(不知道应该把代码写在哪里=,=)。如果不是,那应该怎么改?
由最代码官方编辑于Aug 6, 2018 1:36:38 PM
首先没太看你的描述。如下给出的是解决XXE漏洞方法:
XXE是由于xml解析库在解析xml文件时解析了entity实体造成,可以通过设置解析器不解析entity实体,当然不同的解析器设置方法不同,可根据具体xml解析器直接问度娘,如下是我们公司的代码(其中加粗,斜体,红色为设置不解析entity实体代码):
public <T> T fromXmlSafe(String xml) {
try {
System.out.println("fromXmlSafe: " + xml);
XMLInputFactory xif = XMLInputFactory.newFactory();
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
xif.setProperty(XMLInputFactory.SUPPORT_DTD, true);
// StringReader reader = new StringReader(xml);
XMLStreamReader xsr = xif.createXMLStreamReader(new StringReader(xml));
return (T) createUnmarshaller().unmarshal(xsr);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public Unmarshaller createUnmarshaller() {
try {
return jaxbContext.createUnmarshaller();
} catch (JAXBException e) {
throw new RuntimeException(e);
}
}
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?