web攻防——php特性

1.等于号

因为是两个等于,所以1.0可以+1也可以,1admin也是可以

2.0e漏洞

当解析得到的md5值前面两位0e是相等的,==就表示true,===表示的是false;(不是0e)

在url中

此时表示false,想要绕过就得使用数组,在md5中,MD5无法处理数组,所以处理过后的数组都是表示NULL,然后NULL=NULL就表示true。

然后name和password想输入多少都表示true.


2.intval函数

可以将值转化成整数

base的作用

0x29a是666的16机制,intval函数将0x29转化为666


strops函数

得到的答案是7


in_arrary函数

寻找想要的东西是否在数组之中,如果不设置TRUE就只是普通的等于,不看类型(1=1e)

如果设

就会判断类型


preg_match

这个的意思是从0-9有没有$num的存在

此时想要输出flag,可以输入数组

preg_match没办法匹配数组,而intval可以匹配数组


str_replace

它可以过滤,但不能迭代


isset函数

判断是否有值在里面



ctf

因为第一个可以检测到换行,而第二个没办法检测到换行,所以第一个可以检测到php,下面那个只能检测到" "(%0a是换行符,%20是空格)

这种可以在url中$num=%20015074

或者$num= 015074(这里是加了空格的)

2.

flag在flag.php这个文件中,所以我们要读到这个文件,所以,我们要加也该加./(不同的操作系统是不一样的)


cms源码php审计(str_replace不能迭代过滤)

从这里我们可以看到(它可以读取文件)

这个它会过滤,让我们只能读取当前的目录

所以在url中,我们需要这么写

然后查看谁调用了这个函数

这里可以看到它执行的路径

我们可以在url中输入这个

(为啥要加两个这种../)


cms代码审计in_arrary

发现in_arrary没有true,

然后查找到这个数组的值,所以我们可以通过1,后面随便加来进行注入

就像这样,1可以等于这些

然后发现rate是这么传进来的

总之,就是这样

/”和“\,这两种斜杆都表示的是一样的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值