web小trick
1.当php后缀被过滤的时候可以直接对ph开头的后缀进行一个fuzz测试可以上传的文件后缀名
2.curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com
指定http访问所使用的proxy服务器及其端口
3.CTF php://input 协议解读
php://input 读取的是未经url解码的原始数据
$POST[x]中的数据是经过解码的
file_get_contents()函数不能直接读取$_post[x] 例如:flag=$_post[x]; file_get_contents(flag) 此处将发生错误
4.php://phar协议 突破文件包含
首先写1.php压缩为1.zip更改后缀名为.jpg上传,然后利用文件读取直接包含。
http:www.c1sec.club/include.php?file=phar://upload/1.jpg/1
这里的1指的是先前写好的1.php小马
5 . .avi文件上传:
具体用法:https://github.com/neex/ffmpeg-avi-m3u-xbin
6.能读文件,apache下记得读/etc/apache2/sites-available/000-default.conf,会有一些配置文件
7.上传文件后,如果服务器是linux系统,那么会在/tmp/目录下生成对应的临时文件
8.unset函数是注销变量函数
11.mysql 绕过截断单引号
$query='select * from flag where user='.$user[0].' and passwd='.$passwd[0].' \' ' ;
要产生注入,则必须构造payload来截断单引号,打乱sql语句原来的构成标准。即可构造user=\&&passwd=or 1#
此时sql语句为
select * from flag where user=' \' and passwd= ' or 1# ';
(2) url二次编码绕过单引号过滤
12.备份文件泄漏在外网
漏洞描述:编辑器或者人员在编辑文件时,产生的临时文件,如vim自动保存为.swp后缀、UltrlEditor自动保存.bak后缀等,这些文件会泄漏源代码或者敏感信息。
检测方法:在cgi文件后面添加.bak、.swp、.old、~等后缀探测。
修复方案:删除备份文件。
13.版本管理工具泄漏漏洞
版本管理工具CVS会在所有目录添加特殊文件,如果这些文件同步到Web目录后就会泄漏路径等信息。
检测方法:访问http://[ip]/CVS/Entriesp
修复方法:删除cvs所在目录
14.php5.2以上默认allow_url_include关闭,若开启allow_url_include则容易引起利用php://input伪协议进行文件包含
15.通过php glob()函数读取文件
1 <?php
2 foreach (glob("*.txt") as $filename) {
3 echo "$filename size " . filesize($filename) . "\n";
4 }
5 ?>
输出结果如下:
16.命令执行时当;|| && 被过滤时可以尝试%0a来绕过多执行一条命令。
17.禁止加载XML实体对象的方式,来防止XXE漏洞,通过使用
18.当addslashes()函数遇到json_encode()函数
1 <?php
2 $sa=$_GET['a'];
3 $sa=addslashes($sa);
4 echo json_encode($sa);
如果提交a=admin‘ 则json后能够逃逸反斜杠 \
此时\被再次转义,即 ' 可逃逸。
19.win下php可以利用短文件名来实现文件爆破,比如就是当文件名超过 6
位时,可以用 ~1
表示后面的字符串,比如我们的文件名叫 abcdefghijk.txt
,短文件名表示成:abcdef~1.txt
,如果这时候还有个叫 abcdefhhhh.txt
的,就可以把 1
改成 2
:abcdef~2.txt
20.doc和zip的文件头一样,因此构造一句话木马打包后,Burpsuite抓包修改后缀名和Mime类型上传,最后使用zip伪协议读取即可。
21.door为数组则$secret将为null
22.生成多个md5值相同的文件
https://www.yuque.com/sourcecode/2019hgame/magical_md5
23.php://filter 伪协议支持多个过滤器同时使用
24..htaccess开启php解析引擎
AddType application/x-httpd-php .png
php_flag engine 1
25. php://resource=jpg/resource=file/tips.txt 可以绕过以下正则
/^php:\/\/.*resource=([^|]*)/i
26.sql注入空格还可以用%来代替