[NCTF2019]Fake XML cookbook1

提示

  1. xml注入

一般遇到像登录页之类的就因该想到sql注入、弱口令或者xml等

随便输入抓包

这里明显就是xml注入

这里我们来简单了解一下xml注入

这里是普通的xml注入

xml注入其实和sql注入类似,利用了xml的解析机制如果系统没有将'<''>'进行转义,那么攻击者就可以修改或者添加xml信息

例如:

这里是正常的注册的xml

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

<user role="guest">用户输入</user>

假如我添加一个呢,这样是否就将我们输入的用户名变成了权限

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

<user role="guest">用户输入</user>

<user role="admin">输入</user>

xml外部实体注入

大概意思呢就是程序在解析的时候同时也把攻击者构造的外部实体也解析了

XML声明:<?xml version="1.0" encoding="utf-8" ?>

内部DTD声明:<!DOCTYPE 根元素名称 [元素声明]>

在DTD中定义属性:<!ATTLIST 元素名 (属性名 属性类型 缺省值)*>

外部实体声明:<!ELEMENT 实体名称 SYSTEM "URI/URL">

构造payload尝试注入

&admin;这里的admin类似于css中的id和class,资源定位器,和<!ENTITY admin这里的admin相对应

得到passwd里的信息,直接读flag

获得flag

相关推荐
写代码的【黑咖啡】13 小时前
Python中的lxml:高效XML处理库
xml·开发语言·python
给勒布朗上上对抗呀2 天前
特殊符号绕过-ctfshow-web40
ctf
spencer_tseng2 天前
org.xml.sax.SAXParseException: cvc-complex-type.3.2.2 sql-query result-type
xml
clown_YZ2 天前
KnightCTF2026--WP
网络安全·逆向·ctf·漏洞利用
派大鑫wink2 天前
【Day48】MyBatis 注解开发:替代 XML 映射文件
xml·java·mybatis
给勒布朗上上对抗呀3 天前
文件包含之include-ctfshow-web39
ctf
sunnyday04263 天前
Spring Boot 日志配置详解:log4j2.xml 的完整配置指南
xml·spring boot·log4j
熊出没3 天前
关于MyBatis Mapper 接口与 XML 映射机制的分析
xml·microsoft·mybatis
她说..4 天前
FIND_IN_SET()方法
xml·java·spring boot
北辰当尹4 天前
xml基础
android·xml