前言:
有点累了,什么都没做,就很累,手写笔记,嗯,不想像以前照着抄了,但是有一个问题就是,就是照着抄也有好处,但是知识太多,如果没有自己去实战复述的话也很难记住
正题:
文件包含,就是说有一个变量,是定义的,不是写死的,然后没有任何过滤,
那包含的那个文件是用什么解析的呢,当然是用当前网站的脚本语言解析的
用burp返回包,可以看到返回的网页源码,虽然前端不会显示,但是打开网站源代码会有源码的
如php?file=index.php,就是会包含当前目录的index.php,用php解析
php?file=1.txt,也是用php脚本语言解析的、
文件包含
本地包含,远程包含
本地包含
有文件上传,再文件写后门代码,可以直接包含该文件,
无文件上传
伪协议执行代码
session执行
日志执行
远程包含
直接在自己服务器写上后门地址,然后直接在目标服务器包含自己的服务器,然后就可以直接连上对方的服务器了
利用条件,需要同时开启远程包含,打开远程文件的开关,allow_url_include,allow_url)_fopen需要同时开启,allow_url_fopen在php默认是打开的
伪协议利用文件包含
data:base64,可以直接嵌入base64代码,并且执行,条件是需要开启远程包含
file://put,执行post请求的代码,也需要开启远程包含
日志利用文件包含
电脑中的日志,access.log中的日志文件,默认访问会记录电脑的信息,然后我们去修改ua头,在ua头中修改成为恶意代码,然后再利用文件包含,以脚本语言执行该日志,就可以直接连接这个服务器了
session
暂时还没有听课,明天再继续看,继续写