我是第八期学员
久违的双子座
这是我的第六个帖子,希望能坚持下去。
这个【学习笔记】系列,是学习第七期正式课程后,总结记录的内容,供提交作业
、复习查阅
和分享交流
使用。下面就开始吧!
之前【学习笔记】连接:
本篇文章,是在学习完“文件上传解析漏洞”章节后,总结的老师核心知识点,能起到方便复习与掌握核心知识的作用。补充一点,学过的人都知道,这章只有认真完成靶场和作业,才能学到精华。
本文章仅是基础知识,毕竟第八期课程还未开始,这是自学第七期课程总结来的,算是提前预习吧。如有错误,更各位大佬多多指正!
echo abcd>>a.txt:b.txt //将abcd写入到b.txt中,生成a.txt,但数据存储在b.txt中
notepad a.txt:b.txt //实用文本见查看写入的信息,如果不是系统自带的工具,需要写明打开软件的具体路径
NTFS交换数据流(ADS),ADS是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流。通俗的理解,就是其它文件可以“寄宿”在某个文件身上,而在资源管理器中却只能看到宿主文件,找不到寄宿文件。
a.txt::$DATA // ::$DATA就是默认不修改文件流的情况,文中储存的数据,此处写明是为了Windows文件流绕过
%00解码后就是0x00
漏洞一:当文件后缀名字为.asa .cer .cdx 也会当做asp去解析,.asa .cer .cdx 都会调用 asp.dll
可以用来绕过黑名单机制
漏洞二:处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。
test.asp;.jpg 他将当做asp进行解析
test.asp/123.jpg 他将当做asp进行解析
举例:请求 /aaa.asp;xxxx.jpg。N1:从头部查找查找 “.”号,获得 .asp;xxxx.jpg,查找”;”号,如果有则内存截断,查找”/“,如果有则内存截断,最终反馈给了asp.dll处理
可以用来绕过白名单
原理:
当访问www.xx.com/phpinfo.jpg/1.php这个URL时,$fastcgi_script_name会被设置“phpinfo.jpg/1.php”,然后构造成SCRIPT_FILENAME(绝对路径)传递给PHP CGI,如果开启了cgi.fix_pathinfo=1选项(这个默认值就是1,所以没有设置过就是开启),那么就会触发在PHP中的如下逻辑:
PHP会认为SCRIPT_FILENAME(绝对路径)是phpinfo.jpg,而1.php是PATH_INFO,所以就会phpinfo.jpg作为PHP文件来解析了.
也是一个逻辑问题,所以说我们只需要在正常的.jpg后面加/.php就可以成功的绕过解析
在拥有建立文件夹且可以命名的时候可以使用
上传图片码可以绕过Content_Type和文件头检测
后端验证实现逻辑:先上传,再校验,不符合删除,逻辑没问题,但每一步都要花费执行时间
条件竞争绕过原理:打时间差,在文件删除前,先访问到,但如何做到手速比代码执行还快?
burp抓包:利用burp抓包,使用线程(同一时间做多件事),同时大量上传,同时大量尝试访问,不断尝试,只要成功一次即可。
以上仅是基础知识点总结,在实操中关键还是浏览器插件代理、配合burp使用,并熟悉数据包基础构造,熟练篡改报文内容。本章学习比较特殊,其实基础不难,关键在靶场实操。
打赏我,让我更有动力~
© 2016 - 2025 掌控者 All Rights Reserved.