44 |
45 |
46 |
47 |
48 |
49 | |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/challenges/web/id_wife/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XDSEC/miniLCTF_2020/31172d66b418eeac194338c76ecf4d78c23d32b4/challenges/web/id_wife/.DS_Store
--------------------------------------------------------------------------------
/challenges/web/id_wife/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM frankli0324/lnmp:debian-5.6
2 |
3 | LABEL maintainer="frankli0324@hotmail.com"
4 |
5 | COPY src /var/www/html
6 |
7 | COPY flag.sh /flag.sh
8 | COPY db.sql /db.sql
9 | RUN mysqld_safe & until mysqladmin ping -s; do sleep 1; done \
10 | && mysqladmin -uroot password 'root' \
11 | && mysql -e 'source /db.sql' -uroot -proot
12 |
13 | RUN rm -f /db.sql
14 |
--------------------------------------------------------------------------------
/challenges/web/id_wife/db.sql:
--------------------------------------------------------------------------------
1 | drop database if exists miniL;
2 |
3 | create database miniL;
4 |
5 | use miniL;
6 |
7 | create table user
8 | (
9 | id text not null ,
10 | herf varchar(200) not null
11 | );
12 | CREATE USER 'web'@'%' IDENTIFIED BY 'web';
13 | GRANT ALL PRIVILEGES ON miniL.* TO 'web'@'%';
14 | GRANT SELECT ON mysql.* TO 'web'@'%';
15 |
16 | create table `1145141919810`
17 | (
18 | id text not null ,
19 | content text not null
20 | );
21 |
22 | insert into user(id,herf) value
23 | ('w1nd',"http://www.f1ag.com/wp-content/uploads/2020/04/F@G2S0VOQ1@9K37CK7EC.jpg"),
24 | ('frank',"http://www.f1ag.com/wp-content/uploads/2020/04/FFRLH1PGRF76LN_U.jpg"),
25 | ('sad',"http://www.f1ag.com/wp-content/uploads/2020/04/KBZXG0J1@B8GVU@IC0SF.jpg"),
26 | ('huai',"http://www.f1ag.com/wp-content/uploads/2020/04/YZUBG1RSBLREX9JXEH.jpg"),
27 | ('nen9ma0',"http://www.f1ag.com/wp-content/uploads/2020/04/E6TOS3T7XE9RBQRHFB.jpg"),
28 | ('endcat',"http://www.f1ag.com/wp-content/uploads/2020/04/YRGCQYYL6P5WXZP7SR-e1586589241259.jpg"),
29 | ('v0id',"http://www.f1ag.com/wp-content/uploads/2020/04/EVURBPTQ6MDKFP_3U1.png"),
30 | ('reclu3e',"http://www.f1ag.com/wp-content/uploads/2020/04/5HPZVROL8DIPKD1CIUO.jpg"),
31 | ('luoqian',"http://www.f1ag.com/wp-content/uploads/2020/04/8JJVVZI@D4HNMG02HIDX7.jpg"),
32 | ('K0rz3n',"http://www.f1ag.com/wp-content/uploads/2020/04/P@F28ZZ9QH5J3V61D.jpg"),
33 | ('happy',"http://www.f1ag.com/wp-content/uploads/2020/04/40ACEJU8KTTOVEEUG.jpg"),
34 | ('ruby',"http://www.f1ag.com/wp-content/uploads/2020/04/7RCQ@9A3J8U2HI0HFCG.jpg"),
35 | ('konge',"http://www.f1ag.com/wp-content/uploads/2020/04/71H60CYPUGA7PG2G0Y.png"),
36 | ('wallet',"http://www.f1ag.com/wp-content/uploads/2020/04/QW6E5@@ICVU095ZM57M15.png"),
37 | ('qie',"http://www.f1ag.com/wp-content/uploads/2020/04/O0G2BS8NKO4SX7FZR3E.png"),
38 | ('rx',"http://www.f1ag.com/wp-content/uploads/2020/04/XD_4IJBGNA1KAQ9RDOO.png"),
39 | ('whye',"http://www.f1ag.com/wp-content/uploads/2020/04/@9WUJ06@2D7_G27EP.png"),
40 | ('gloucester',"http://www.f1ag.com/wp-content/uploads/2020/04/AFYILFTSZ6V37EG@7.png");
41 |
--------------------------------------------------------------------------------
/challenges/web/id_wife/flag.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | mysql -e "INSERT INTO \`1145141919810\` (id, content) VALUES ('ffffllllaaaagggg', '$FLAG');" -uroot -proot miniL
4 |
5 | unset FLAG
6 |
7 | rm -f /flag.sh
8 |
--------------------------------------------------------------------------------
/challenges/web/id_wife/src/flag.php:
--------------------------------------------------------------------------------
1 | Flag is here.
--------------------------------------------------------------------------------
/challenges/web/include/index.php:
--------------------------------------------------------------------------------
1 |
14 |
15 |
--------------------------------------------------------------------------------
/challenges/web/include/next.php:
--------------------------------------------------------------------------------
1 | '!','LOOKHERE'=>'TE9PS0hFUkU=.html');
3 | ?>
--------------------------------------------------------------------------------
/challenges/web/lets_play_dolls/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.4-fpm-alpine
2 |
3 | RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
4 | RUN apk add --no-cache nginx
5 | COPY nginx.conf /etc/nginx/nginx.conf
6 | RUN mkdir -p /run/nginx
7 | COPY index.php /var/www/html/index.php
--------------------------------------------------------------------------------
/challenges/web/lets_play_dolls/README.md:
--------------------------------------------------------------------------------
1 | ## Let's play dolls
2 |
3 | 如题面,构造反序列化攻击链入门题
4 | 虽然使用php 7.4.24是出题时粗心导致,但歪打正着,引出了一个很有趣的点。
5 | 讲题时会深入说明。
--------------------------------------------------------------------------------
/challenges/web/lets_play_dolls/index.php:
--------------------------------------------------------------------------------
1 | var='phpinfo();';
14 | }
15 | function execute(){
16 | if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $this->var)) {
17 | if(!preg_match('/header|bin|hex|oct|dec|na|eval|exec|system|pass/i',$this->var)){
18 | eval($this->var);
19 | }
20 | else{
21 | die("hacked!");
22 | }
23 | }
24 |
25 | }
26 | function __wakeup(){
27 | $this->var="phpinfo();";
28 | }
29 | function __desctuct(){
30 | echo '