备份文件 + php强弱比较

常见的备份文件后缀名: .git .svn .swp .bak .bash_history .rar .zip .7z .tar .gz .txt .html

备份文件fuzz字典

.index.php.swp
index.php.swp
index.php.bak
.index.php~
index.php.bak_Edietplus
index.php.~
index.php.~1~
index.php
index.php~
index.php.rar
index.php.zip
index.php.7z
index.php.tar.gz
www.zip
www.rar
www.zip
www.7z
www.tar.gz
www.tar
web.zip
web.rar
web.zip
web.7z
web.tar.gz
web.tar
wwwroot.rar
web.rar

 

  • chr() 函数:从指定的 ASCII 值返回字符。 ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置0,而十六进制值被定义为带前置 0x。
  • file_get_contents() 函数:把整个文件读入一个字符串中。该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。
  • PHP的字符串解析特性:PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】。假如waf不允许num变量传递字母,可以在num前加个空格,这样waf就找不到num这个变量了,因为现在的变量叫“ num”,而不是“num”。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还上传了非法字符。
  • scandir() 函数:返回指定目录中的文件和目录的数组。 scandir("/")可以查出当前目录所有文件  当/被过滤时可用chr(47)代替

php中 == 是不判断二者是否是同一数据类型,而 === 是更为严格的比较,它不仅要求二者值相等,而且还要求它们的数据类型也相同。

is_numeric函数用于检测变量是否为数字数字字符串
intval() 函数用于获取变量的整数值

$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
if($key == $str){...}

 如果key为数字时,在做==比较时,str字符串自动变为数字,即str=123。

 

if (is_numeric($password)) {
		echo "password can't be number</br>";
	}elseif ($password == 404) {
		echo "Password Right!</br>";
	}
遇到
这种
情况
可以
post参数password=404+任意字符 因为php中 == 是弱比较,404是数字,password与其比较自动变数字
posted @   heartbeat111  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示