记一次00截断

来源:互联网 发布:澳大利亚科廷大学知乎 编辑:程序博客网 时间:2024/05/19 14:53
记实验吧上传绕过之00截断
先上传一张图片试试

发现需要php文件
尝试上传php文件,发现只允许上传文件格式
说明需要上传绕过
百度一波00截断漏洞原理
当程序在输出含有chr(0)变量时,chr(0)后面的数据会被停止,换句话说,就是误把它当成结束符,后面的数据直接忽略,这就导致漏洞产生 

简单举个例子,看下面的代码 
<% 
path="upfiles/picture/" 
file="20121212.jpg" 
upfilename=path & file '最后的上传地址 
%> 
就这段代码中的path为上传的路径,file为生成的文件名,upfilename为上传后的地址,程序表面是没什么问题,但如果path可以由用户自定义(path这个参数往往是从表单或参数传过来的,能够自定义),所以就产生了上传路径截断漏洞 

比如我在表单中把路径改成了“upfiles/1.aspChr(0)” 
这样上传路径就成了 path="upfiles/1.aspChr(0)" chr(0)代表那个截断字符 
这时变量被输出时,就成了upfiles/1.asp 
而不是upfiles/upfiles/1.aspChr(0)20121212.jpg 
很明显,upfile/1.asp就成了she11 

步骤:
随便上传一个jpg格式文件,用burp抓包
用00截断,在路径后面加上1.php%00

选中%00


按Crtl+Shift+U 
或者右键convert selection---url---url-decode,将%00还原为字符
forward一下就出来了
原创粉丝点击