1.linux下交换文件 .index.php.swp 有时可查看源码
2.当php后缀被过滤的时候可以直接对ph开头的后缀进行一个fuzz测试可以上传的文件后缀名3.curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com指定http访问所使用的proxy服务器及其端口4.CTF php://input 协议解读
php://input 读取的是未经url解码的原始数据
$POST[x]中的数据是经过解码的
file_get_contents()函数不能直接读取$_post[x] 例如:flag=$_post[x]; file_get_contents(flag) 此处将发生错误
5.php://phar协议 突破文件包含
首先写1.php压缩为1.zip更改后缀名为.jpg上传,然后利用文件读取直接包含。
http:www.c1sec.club/include.php?file=phar://upload/1.jpg/1
这里的1指的是先前写好的1.php小马
6..avi文件上传:
具体用法:https://github.com/neex/ffmpeg-avi-m3u-xbin
7.linux下也可以通过读.bash_history来查看用户的相关信息
8.能读文件,apache下记得读/etc/apache2/sites-available/000-default.conf,会有一些配置文件
9.上传文件后,如果服务器是linux系统,那么会在/tmp/目录下生成对应的临时文件
10.unset函数是注销变量函数
11.mysql 绕过截断单引号 (1)(php单引号不解析,双引号解析)$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.extract($_GET); //接收所有的GET参数,并将接收来的键名作为变量名,键值作为变量值 如:tony=admintony->$tony=admintony13.备份文件泄漏在外网
漏洞描述:编辑器或者人员在编辑文件时,产生的临时文件,如vim自动保存为.swp后缀、UltrlEditor自动保存.bak后缀等,这些文件会泄漏源代码或者敏感信息。
检测方法:在cgi文件后面添加.bak、.swp、.old、~等后缀探测。
修复方案:删除备份文件。
14.版本管理工具泄漏漏洞
版本管理工具CVS会在所有目录添加特殊文件,如果这些文件同步到Web目录后就会泄漏路径等信息。
检测方法:访问http://[ip]/CVS/Entriesp
修复方法:删除cvs所在目录
15.php5.2以上默认allow_url_include关闭,若开启allow_url_include则容易引起利用php://input伪协议进行文件包含
16.通过php glob()函数读取文件
1
输出结果如下:
17.命令执行时当;|| && 被过滤时可以尝试%0a来绕过多执行一条命令。
18.禁止加载XML实体对象的方式,来防止XXE漏洞,通过使用
19.当addslashes()函数遇到json_encode()函数
1
如果提交a=admin‘ 则json后能够逃逸反斜杠 \
此时\被再次转义,即 ' 可逃逸。