方班CTF部分WP

admin 2023年2月21日13:00:22评论61 views字数 6021阅读20分4秒阅读模式

最近参加了方班的夏令营,参加了夏令营中的CTF,并且和队友拿到了不错的成绩,在此分享下我所在队伍的WP。

方班CTF部分WP




WEB

WEB1

1、打开题目,提示是个XSS

方班CTF部分WP

2、点传送门进入

方班CTF部分WP

3、既然是xss,那就丢一段测试代码过去试试

XSS 测试代码:

<script>alert(321)</script><onload>javascript:'"<oonnclick><onerror><src><ssrcrc><img><svg><body><input><scr<script>ipt>scscriptript<Script></Script>

4、测试结果

方班CTF部分WP

查看页面源代码后,明显可以发现第十一行有漏洞,但过滤了部分字符,例如:onscript

<h1>xss</h1><div class="category category-misc"></div>
<div class="scene"><script src="./js/application.js"></script><!--[if lt IE 9]><script src="./js/IE9.js"></script><script src="./js/html5.js"></script><![endif]--><script src="./js/IE8.js"></script>
插入你想要的。而我想要double。<br/><h2 align=center>没有找到和&lt;script&gt;alert(123)&lt;/script&gt;&lt;onload&gt;javascript:'&quot;&lt;oonnclick&gt;&lt;onerror&gt;&lt;src&gt;&lt;ssrcrc&gt;&lt;img&gt;&lt;svg&gt;&lt;body&gt;&lt;input&gt;&lt;scr&lt;script&gt;ipt&gt;scscriptript&lt;script&gt;&lt;/script&gt;相关的结果.</h2><center><form action=level.php method=GET>
<input name=keyword value="<>(123)</><load>java:'"<onclick><error><><src><img><svg><body><input><scr<>ipt><></>">
<input type=submit name=submit value=搜索 /></form></center><h3 align=center>payload的长度:92</h3><br /></div></div></main><script src="./js/application.js"></script><!--[if lt IE 9]><script src="./js/IE9.js"></script><script src="./js/html5.js"></script><![endif]--><script src="./js/IE8.js"></script>

再根据题目提示的double,认为应该是嵌套绕过,于是构造了以下Payload:

a"><img ssrcrc="x" oonnerror=aalertlert(1)><"

搞定:

方班CTF部分WP

FLAG:

nsfocus{3da458d12edbd860}


WEB2

1、打开题目:

方班CTF部分WP

2、查看源代码,发现一段被注释的js代码引用

<!-- === BEGIN HEADER === --><!DOCTYPE html><html lang="en">    <!--<![endif]-->    <head>        <!-- Title -->        <title>很简单-------细心</title>        <!-- Meta -->        <meta http-equiv="content-type" content="text/html; charset=utf-8" />        <meta name="description" content="Welcome to the SkyDog Con CTF 2016">        <meta name="author" content="James Bower">        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />        <!-- Favicon -->        <link href="favicon.ico" rel="shortcut icon">        <!-- Bootstrap Core CSS -->        <link rel="stylesheet" href="assets/css/bootstrap.css" rel="stylesheet">        <!-- Template CSS -->        <link rel="stylesheet" href="assets/css/animate.css" rel="stylesheet">        <link rel="stylesheet" href="assets/css/font-awesome.css" rel="stylesheet">        <link rel="stylesheet" href="assets/css/nexus.css" rel="stylesheet">        <link rel="stylesheet" href="assets/css/responsive.css" rel="stylesheet">        <link rel="stylesheet" href="assets/css/custom.css" rel="stylesheet">    </head>    <body>        <div id="social" class="visible-lg">            <ul class="social-icons pull-right hidden-xs">                <li class="social-rss">                    <a href="#" target="_blank" title="IRC"></a>                </li>              </ul>        </div><!--[if IE 8]> <html lang="en" class="ie8"> <![endif]--><!--[if IE 9]> <html lang="en" class="ie9"> <![endif]--><!--[If IE4]><script src="/oldIE/oldIE.js"></script><![Make sure to remove this before going to PROD]--><!--[if !IE]><!-->        <!-- Header -->        <div id="header" style="background-position: 100% 100%; height:100%;" data-stellar-background-ratio="0.5">            <div class="container">                <div class="row">                    <!-- Logo -->                    <div align="center">                        <a href="index.html" title="">                            <img src="logo.png" alt="Logo" style="width:1500px;height:800px;"/>                        </a>                    </div>                    <!-- End Logo -->                </div>                <!-- Top Menu -->                <div id="hornav" class="row text-light">                    <div class="col-md-12">                        <div class="text-center visible-lg">                            <ul id="hornavmenu" class="nav navbar-nav">                                <li>                                </li>                            </ul>                        </div>                    </div>                </div>            </div>        </div>    </body></html><!-- === END FOOTER === -->

3、把注释掉的JS打开看看

http://IP/oldIE/oldIE.js

JS里的第一句就是一句被注释掉的base64编码。很明显可以研究一下:

TUhnMk5qWmpOakUyTnpkaU5EUXpOalF5TXpJME5qTXpNekkwTVRNME16YzBNak00TkRJME16UXlNelUzWkE9PQ==

丢在线解码里解一下

方班CTF部分WP

解出来还是一个base64,再解一次

方班CTF部分WP

解出来是一个0x开头,只有0-9、a-f的字符串,明显是一个16进制字符串。

丢到kali里转换一下:

方班CTF部分WP

FLAG:

nsfocus{D6B2F32A47B8BCB5}




MISC

MISC1

1、打开下载的文件,发现是一个输入密码的网页

方班CTF部分WP

2、查看页面代码,查找常见的一些事件,如 click,发现有一个 ht_check()函数

方班CTF部分WP

3、对该函数进行调用,发现弹出密码 admin123456

方班CTF部分WP

4、输入得到的密码,得到 flag

方班CTF部分WP

FLAG:

nsfocus{91aee1e0d6a80a8b5fe190d7ad254d7f}


MISC2

1、下载pcap并且打开,选择任意一条数据,进行追踪 TCP 流

方班CTF部分WP

2、发现 python 代码,将其复制到 python 编辑器中

方班CTF部分WP

进行简单的处理,将其中调用 decrypt 的参数 Qq4wdrhhyEWe4qBF 进行提取,并且还需要再改追踪流中拿到 flag 的数据

mbZoEMrhAO0WWeugNjqNw3U6Tt2C+rwpgpbdWRZgfQI3MAh0sZ9qjnziUKkV90 XhAOkIs/OXoYVw5uQDjVvgNA==

然后调用 decrypt 函数即可

3、编写python代码

方班CTF部分WP

4、运行之后就是flag的值

方班CTF部分WP

FLAG:

nsfoucs{n0w_U_w111_n0t_f1nd_me}


MISC3

打开下载的文件,发现是一段密文,然后根据题目给的信息,放到 md5 进行解密

方班CTF部分WP

解密结果

方班CTF部分WP

FLAG

nsfocus{admin1}


MISC4

1、下载 easy_crypto.zip 后打开得到 2 个文件 flag.txt 和 morse.txt

2、按题目提示 flag.txt 肯定是密文,morse.txt 肯定是密钥,看名字和内容

就知道是摩斯密码。丢到摩斯密码在线翻译看一看,得到

keyisvigenerecipher

方班CTF部分WP

3、有了密钥就简单了,丢在线解码里解开,获得明文是:

vigenereencryptionhhh

FLAG:

nsfocus{vigenereencryptionhhh}


MISC5

1、解压出的包里有pem文件,联想到openssl的rsa加密,打开pem文件一看,果不其然。

-----END RSA PRIVATE KEY-----

2、使用下面的命令解密enc文件

openssl rsautl -decrypt -in flag.enc -out dec.txt -inkey private.pem

方班CTF部分WP

FLAG:

nsfocus{FLAG-vOAM5ZcReMNzJqOfxLauakHx}


MISC6

1、下载图片文件,使用 binwalk 查看,发现存在许多隐藏文件

方班CTF部分WP

2、使用 dd 命令进行提取

方班CTF部分WP

3、打开提取到的图片,发现flag

方班CTF部分WP

FLAG:

nsfocus{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}




STEGA

STEGA1

1、下载并解压压缩包,然后把 doc 的后缀改为 zip 再进行解压查看 Flag.xml,发现 flag 就存在该压缩包内

方班CTF部分WP

2、内容

方班CTF部分WP

FLAG:

nsfocus{k42bP8khgqMZpCON}


STEGA2

1、StegSolve打开文件,在red plane 0通道里找到密码 key{forensics_is_fun} 。

方班CTF部分WP

2、利用该密码解压zip文件。

3、打开Gif发现提示文件损坏,用UltraEdit修补gif文件头,增减4个字节,内容为 47 49 46 38 。

4、用Photoshop打开gif文件,看到各个帧上的字母内容为:CTF{AS3X}

方班CTF部分WP

FLAG:

nsfocus{AS3X}


STEGA3

1、下载文件,发现是一张跳动很快的gif图片,于是使用 Stegsolve 逐帧查看 gif 即可

方班CTF部分WP

FLAG:

nsfocus{he11ohongke}


STEGA4

1、下载音频文件,使用工具 Audacity 打开,发现上下两行很明显不一样,猜测有可能是摩斯密码

方班CTF部分WP

2、对第一行的数据进行提取,得到摩斯码:

..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

方班CTF部分WP

3、对摩斯密码进行解密,得到 flag5BC925649CB0188F52E617D70929191C

方班CTF部分WP

FLAG:

nsfocus{5BC925649CB0188F52E617D70929191C}




TRAFFIC

1、打开包后随便追踪一个tcp流量,可以发现这是一个sql注入的攻击流量包。

2、观察第一个流

tcp.stream eq 0

可以看到根据报错信息,当回显是 Hello admin! 表示命令执行成功;例如:

GET /index.php?id=1%27and%20(select%201)=1%23

当回显示是 no data! 时表示执行失败。例如:

GET /index.php?id=1%27and%20(select%202)=1%23

3、提取包含信息的流,过滤器输入 tcp contains "admin" ,再选择[文件]、导出分组解析结果、为纯文本,然后将保存的txt文件命名为 sql.txt 。

方班CTF部分WP

4、提取包含flflag的uri请求参数,将结果保存到sql_result.txt。

f=open('sql.txt','r',encoding='utf-8') lines = f.readlines() f1=open('sql_result.txt','w')     for line in lines:         if '[Request URI:' in line:             f1.write(line)

5、将sql_result.txt中包含 skyflag_is_here 的后29行全部复制粘贴到flflag_sql.txt,将其中的ascii数值摘录出来

[Request URI: http://192.168.173.134/index.php? id=1%27and%20(select%20ascii(substr((select%20skyflag_is_here2333%20from%20flag% 20limit%200,1),1,1)))=102%23]

6、转化为ASCII码即可。

方班CTF部分WP

FLAG:

nsfocus{skysql_is_very_cool!233}



- End -

原文始发于微信公众号(NS Demon团队):方班CTF部分WP

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月21日13:00:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   方班CTF部分WPhttps://cn-sec.com/archives/1269248.html

发表评论

匿名网友 填写信息