bugku----备份是个好习惯

备份是个好习惯

1.php中的strstr()函数

strstr( string $haystack , mixed $needle[, bool $before_needle = FALSE] )
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。
Note:
该函数区分大小写。如果想要不区分大小写,请使用 stristr()。
2. substr( string $string , int $start [, int $length] )
返回字符串 string 由 start 和 length 参数指定的子字符串。
3.str_replace ( mixed $search, mixed $replace, mixed KaTeX parse error: Expected 'EOF', got '&' at position 15: subject[, int &̲count] ) 该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。
4.parse_str 将字符串解析成多个变量
parse_str( string KaTeX parse error: Expected 'EOF', got '&' at position 24: …string[, array &̲result ] )
如果 encoded_string 是 URL 传递入的查询字符串(query string),则将它解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。
在这里插入图片描述
尝试打开后,会得到一个文件,打开后如下:
在这里插入图片描述
整段代码的意思是将get的两个参数中的key替换为空(这里可以用kekeyy绕过),然后对key1,key2的值进行md5加密,并进行比较,如果md5加密的值一样而未加密的值不同,就输出flag.
有两种方法绕过:
1,md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。
在这里插入图片描述
2,利用==比较漏洞
如果两个字符经MD5加密后的值为 0exxxxx形式,就会被认为是科学计数法,且表示的是0*10的xxxx次方,还是零,都是相等的。下列的字符串的MD5值都是0e开头的:QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值