设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 运营中心 > 建站资源 > 策划 > 正文

PHP反序列化漏洞简介及相关技巧小结(3)

发布时间:2019-08-12 08:26 所属栏目:20 来源:xiaopan233
导读:拿到源码我们先简单浏览一下,看到parse_str就想到了用变量覆盖来过这些if语句,而parse_str的参数是通过GET请求中的a参数中获得,parse_str进行变量分割的符号是 号,没怎么多想就直接先打上一手请求先: ?first=d

拿到源码我们先简单浏览一下,看到parse_str就想到了用变量覆盖来过这些if语句,而parse_str的参数是通过GET请求中的a参数中获得,parse_str进行变量分割的符号是 & 号,没怎么多想就直接先打上一手请求先:

  1. ?first=doller&a=var=give&bbb=me&ccc=flag 

我原本的意愿是希望这样子被解析

  1. ?first=doller&a=var=give&bbb=me&ccc=flag 

希望红字是一个整体,是一个字符串,是a这个参数的值。总共的GET参数就两个,一个first一个a。但php解析的是。。。

  1. ?first=doller&a=var=give&bbb=me&ccc=flag 

即有4个参数,a的值是var=give,但遇到&号在url中就被解析成了GET参数的分割符,认为bbb=me是一个新的GET的参数。

不过好在有URL编码这种东西,可以在这有歧义的时候扭转局势,我们把&号进行URL编码,这样子解析时就会认为是一个字符串了。URL编码可以用php的urlencode函数。得到&的URL编码为%26。构造请求:

  1. ?first=doller&a=var=give%26bbb=me%26ccc=flag 

看到了欢迎字样:

PHP反序列化漏洞简介及相关技巧小结

查看代码,发现到了反序列化的地方了。而反序列化的来源是通过POST提交的come参数

image.png

知道了要反序列化,接下来就是确定要反序列化的类了。这个源码就一个类come。对这个类进行审计。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读