WEB-00截断与%00截断
source link: https://lddp.github.io/2018/11/21/WEB-00%E6%88%AA%E6%96%AD%E4%B8%8E-00%E6%88%AA%E6%96%AD/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
About WEB Security
00截断与%00截断
在文件上传的时候,经常会遇到对上传文件的后缀名做限制的,有时候用00截断,有时候用%00截断,一直比较懵逼,就在这里做下解释。
%00截断
%00的使用是在路径上!
%00的使用是在路径上!
%00的使用是在路径上!
重要的话说三遍。如果在文件名上使用,就无法正常截断了。如:
aaa.php%00bbb.jpg
由于%00做了截断,所以最后服务器接收到的文件名依然还是aaa.php,因为会在接收的时候,就直接对url编码进行解码,然后再去接收文件,这时候的文件名就已然变成了aaa.php,已经把后面的bbb.jpg给截断掉了。
所以,%00只能用在路径上,这个路径可能在post数据包中,也可能在url中,所以在这些地方使用%00进行截断处理,这样服务器在对文件名进行检测之后,就会把路径跟文件名拼接在一起,这时候%00就开始发挥真正的威力了。
%00(urldecode)
在burp接收到POST数据包的时候,会将POST数据包中的内容,直接进行url解码了。
首先解释为什么要进行urldecode操作呢?其原因在于上传的表单中有一个enctype的属性,并且需要enctype=”multipart/form-data” (不对表单中数据进行编码),path大多数都是存放在表单中的,因此需要在数据包中进行urldecode操作使%00变成字符串结束符号。
网上也有好多是直接添加%00,但是burp未解码的,这就用到了上面所说的,burp接收到POST的数据包时,会对数据包进行url解码,但是如果%00或者说是路径不在post的数据包内呢,比如说path路径在cookie内或者是url中,就不会出现这样的问题了。
00截断的原理,就是利用0x00是字符串的结束标识符,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过检测。
需要注意的是,0x00截断是16进制的截断,需要修改16进制的数据头,如果使用burp,就要在Hex中对数据进行改写。
00截断的限制条件是PHP<5.3.29,且GPC关闭。
对于00截断与%00截断,其在本质上,在原理上都是一样的。
url中的%00(只要是这种%xx)的形式,webserver会把它当作十六进制处理,然后把16进制的hex自动翻译成ascii码值“NULL”,实现了截断burpsuite中16进制编辑器将空格20改成了00。本质上来说,都是利用0x00是字符串的结束标识符,进行截断处理。
致谢:
关于上传中的00截断分析
Recommend
-
110
-
26
如下图,就可能会被意外截断. 想到的解决办法有几个. 用JSON保存爬虫数据,但是导入MySQL需要自己处理. 在爬...
-
7
← 上一篇 记一次有趣的Bug – 返回值被截断为32位 ...
-
4
Oracle:存取器不是参数存取器或列值被截断 作者: 张志强 ...
-
6
偶然发现,在某乎热榜页有一个很有意思的布局,这里的标题会制约内容的行数,所以文本超出是"不定行"的。...
-
2
SQL截断攻击 2008年,Stefan Esser提出一种名为”SQL Column Truncation”攻击方式,就是以上说的SQL截断攻击。 在MYSQL的配置中,有一个sql_...
-
5
CTF中常见的C语言输入函数截断属性总结 发表于...
-
3
作者:thanat0s@360高级攻防实验室 原文链接:http://noahblog.360.cn/xalan-j-integer-truncation-reproduce-cve-2022-34169/...
-
1
中英文及emoji表情字符串截断处理(一个中文2个英文) 2023年2月17日 189次浏览 本文记录一下字符串处理,知识简单,可供参考。主要是字符串截取的相关知识,假如一个中文算两个字符,一个英文或者数字算一个字符,...
-
6
V2EX › 程序员 推荐界面的数据都是截断的吗?
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK