题目地址:http://222.18.158.226:50000/

打开之后一个很大的滑稽图标~
有一个链接:http://222.18.158.226:50000/index.php?file=hint.php 点进去显示:flag not here, and flag in ffffllllaaaagggg
很明显,这里没有flag,lag在ffffllllaaaagggg里面。
这个页面源码什么都没有~
返回到原来的题目地址看看源码。 在源码当中发现了一个注释:
按照前面hint链接的形式进入发现一段php代码:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    class emmm
{
public static function checkFile(&$page)
{
$whitelist = ["source"=>"source.php","hint"=>"hint.php"]; //定义了一个白名单。只有file的名字在这里名单的才可以往下继续进行。只有source.php与hint.php。
if (! isset($page) || !is_string($page)) {
echo "you can't see it";
return false;
}

if (in_array($page, $whitelist)) { //判断file页面是否在白名单里面。
return true;
}
$_page = mb_substr( //mb_substr 在第一个参数的字符串当中,从第二个参数的位置开始,取到第三个参数的位置。
$page,
0,
mb_strpos($page . '?', '?') //mb_strpos — 查找字符串在另一个字符串中首次出现的位置 在这里它在page后面加了一个? 就正好将从第一个问号开始把后面取完了。
);
//重点在这个语句,这个语句会将第一个问号之后的内容都取出来。
//到此的page为:hint.php%3f../../../../../fuck.txt
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page); //将file的值url解码
//到此的page为:hint.php?../../../../../fuck.txt
$_page = mb_substr( //再取一遍问号之后的内容
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can't see it";
return false;
}
}
if (! empty($_REQUEST['file'])
&& is_string($_REQUEST['file'])
&& emmm::checkFile($_REQUEST['file'])
) {
include $_REQUEST['file'];
exit;
} else {
echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}
?>
Weiterlesen »

题目地址:http://47.107.232.77:49882/
打开后是一个公司的登录地址,试着用admin,admin登录一下。

返回错误:
Fatal error: Call to a member function fetch_assoc() on a non-object in /usr/share/nginx/html/login.php on line 15

登录框下面还有一个网址:http://47.107.232.77:49882/news/list.php?id=b3FCRU5iOU9IemZYc1JQSkY0WG5JZz09
试着用sqlmap跑了一下,没有注入。

用御剑扫一下网址。
扫出来了一个:http://47.107.232.77:49882/news/
打开之后发现一个文件目录,第二个是一个zip文件,下载。
里面是list网页的源码:

Weiterlesen »

0%