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

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

考点:parse_str()变量覆盖

代码:

CTF-代码审计(1)——parse_str()变量覆盖_第1张图片

 

 

 

PHP知识点:

1.parse_url()

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

CTF-代码审计(1)——parse_str()变量覆盖_第2张图片

 

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-代码审计(1)——parse_str()变量覆盖_第3张图片

 

你可能感兴趣的:(CTF-代码审计(1)——parse_str()变量覆盖)