CTF-代码审计——parse_str()变量覆盖

Posted tlbjiayou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTF-代码审计——parse_str()变量覆盖相关的知识,希望对你有一定的参考价值。

题目连接:http://222.18.158.226:7000/iscc.php

考点:parse_str()变量覆盖

代码:

技术图片

 

 

 

PHP知识点:

1.parse_url()

参照网址:https://www.php.net/manual/zh/function.parse-url.php

技术图片

技术图片

 

2.$_SERVER[]

参考网址:https://php.net/manual/zh/reserved.variables.server.php

 

3.parse_str() 

参考网址:http://www.w3school.com.cn/php/func_string_parse_str.asp

 

4hash()

参考网址:https://www.php.net/manual/zh/function.hash.php

 

漏洞:

parse_str() 变量覆盖漏洞

 parse_str()函数往往被用于解析url得query_string,但是当参数值背用户所控制时,很可能导致变量覆盖。类似得有mb_parse_str(),想了解更多可以去网上查查资料

 

 

 

 

flag:

 

这里实则就是需要我们提交action=autu key要经过sha256加密过后与hashed_key相等,但是这里我想要去解密这个hased_ke却无果。

这道题考得就是变量覆盖,自己交一个自己知道结果得编码后hashed_key去覆盖最开始那个变量,实则最后就是自己与自己比较。

 这里构造?action=auth&key=abc&hashed_key=ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad即可 ,提交则拿到flag

 

技术图片

 

以上是关于CTF-代码审计——parse_str()变量覆盖的主要内容,如果未能解决你的问题,请参考以下文章

代码审计变量覆盖漏洞详解

php代码审计整理

九漏洞挖掘与代码审计变量覆盖漏洞

ctf代码审计:

[BJDCTF2020]Mark loves cat |变量覆盖(三解)

变量覆盖漏洞----parse_str()函数