xml的基础知识在了解xxe漏洞之前,需要明白一定的基础知识,那就是xml。
XML被设计为传输和存储数据,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。
XML文档结构XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。
1234567891011121314151617181920DTD: <?xml version="1.0"?&g...
more
DD's Blog
-
-
php存储session有三种模式,php_serialize, php, binary 12345php_serialize(php>5.5.4):存储方式是,经过serialize()函数序列化处理的值 php:存储方式是,键名+竖线+经过serialize()函数序列处理的值php_binary:存储方式是,键名的长度对应的ASCII字符+键名+经过serialize()函数序列... more
-
serialize()当在php中创建了一个对象后,可以通过serialize()把这个对象转变成一个字符串,保存对象的值方便之后的传递与使用。测试代码如下: 1234567O为存储对象,如果给serialize()传入的是一个数组,那就是A1为对象名称有1个字符a为对象名称1表示有一个值s表示字符串,i则表示数字4表示字符串的长度test为字符串的名称 unserialize()与s... more
-
相关函数php中引发文件包含漏洞的通常是以下四个函数: 1234561.include()2.include_once()3.require()4.require_once()5.file_get_contents()6.readfile() 以上前4个函数的区别include() 如果出错的话,只会提出警告,会继续执行后续语句。reuqire() 如果在包含的过程中有错,比如文件不存在等... more
-
无任何提示,于是查看源码 发现了个1p.html,打开后直接跳转到bugku主页想到可能是重定向跳转过去的于是利用 view-source:http://123.206.87.240:8006/test/1p.html 查看源码 由 var Words 中的值可知这为url编码解码后得 12<script>window.location.href='http://www.... more
-
123456789101112<?phpif(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; $v3 = $_GET['v3']; if($v1 != $v2 &a... more
-
1234567<?php highlight_file('2.php');$key='KEY{********************************}';$IM= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $mat... more
-
打开题目: 随便输入1,回显: 再尝试些敏感的关键词,回显: 看来是有waf,于是打开源码看看有唔提示: 123456789101112131415161718<!--I've set up WAF to ensure security.-->'<script> $('#calc').submit(function(){ $.aja... more
-
打开题目是一个上传页面随便上传一个php文件,发现报错 于是随意改变文件后缀,仍然报错,但报错内容不一样了,判断这是黑名单过滤后缀 html字符转义: 发现报错信息里提到的是文件内容的<?进行了过滤,但也说明了他是用黑名单过滤文件后缀的因为对<?进行了过滤,所以要绕过可以将php标记格式改为脚本标记格式: 1<script language=php> phpi... more
-
题目给出的解压包里的文本: 第一眼看到就感觉像base64,解码后为 1igq4;441R;1ikR51ibOO0 看到这种格式只想到igq4可能与flag有某种关系但还是毫无思路…于是去找大佬看看这种格式是什么加密,结果查到的是异或运算,但出题人把前面的flag对应的密文给去掉了完整的密文应该为 1EOBD.7igq4;741R;1ikR51ibOO0 最后利用脚本进行解密…. 12... more