内容简介:感觉这种比赛蛮适合我这种新手入门的,对新手很友好,各种详细的提示等等,特此记录总结一下,希望也可以帮助到想要入门学习CTF的小伙伴。打开网址是东南大学的校园网登录界面, 浏览器审查元素 调整为手机界面摸索,然后源码中搜素
感觉这种比赛蛮适合我这种新手入门的,对新手很友好,各种详细的提示等等,特此记录总结一下,希望也可以帮助到想要入门学习CTF的小伙伴。二进制部分的Write-up我尽快不上去。
前言
感觉这种比赛蛮适合我这种新手入门的,对新手很友好,各种详细的提示等等,特此记录总结一下,希望也可以帮助到想要入门学习CTF的小伙伴。
web
seu_wlan level_1 50分
let's f**k the fake seu_wlan! 第一关 考点:查看源码+电脑模拟手机 推荐工具:firefox or chrome Hint:只有手机能看到flag
思路
打开网址是东南大学的校园网登录界面, 浏览器审查元素 调整为手机界面摸索,然后源码中搜素 flag
关键词。
解题
flag{hid3_1n_5our5e}
seu_wlan level_2 100分
let's f**k the fake seu_wlan! 第二关 考点:sql注入 推荐工具:firefox with hackbar Hint: welcome.php文件的源码在welcome.txt
思路
访问 http://69.171.76.88:30002/welcome.txt
查看到源码:
<?php include("db.php"); if(!isset($_POST['username'])){ echo "source file in web9.php.bak"; } $user = $_POST[username]; $pass = md5($_POST[password]); $sql = "select * from php where user='$user' and pw='$pass'"; $query = mysql_query($sql); if (!$query) { printf("Error: %s\n", mysql_error($conn)); exit(); } $row = mysql_fetch_array($query, MYSQL_ASSOC); //echo $row["pw"]; if ($row) { echo "<p>Logged in! Hello $user </p>"; if($row[role]==1){ echo "you are admin! flag is FLAG{};1 } } else { echo("<p>Log in failure! we will redirect you in 2 seconds</p>"); echo("<script>setTimeout(function(){history.go(-1)},2000)</script>"); }
从代码中可以看出来是 单引号 + POST 型注入鸭,那就试试看吧。
解题
源码是可以看出来没有什么防注入措施的,所以这里直接使用 单引号 闭合前面的,后面使用 #
来注释掉
FLAG{ju5t_A_5imp1e_5ql1}
huaji 50分
多点几下屏幕有彩蛋
思路
打开题目地址,点击屏幕发现很多滑稽~~
这个js源码很有意思,可惜下一秒就是我的了,查看下源代码,找到了敏感的数据信息:
很明显是使用了 aaencode
混淆了js代码。
解题
直接在线解密 aaencode 解密
seu_wlan crack 100分
let's f**k the fake seu_wlan! 已知一个同学的一卡通号为admin,尝试登入。已知该同学的密码共六位数字,前两位为19 推荐工具: firefox with hackbar burpsuite pro 注意:burpsuite所在的文件路径不能有中文或者空格,需要安装 java 环境,64位系统不要使用32位的jdk
思路
知道了账号名为: admin
和密码的前 2
位,只有后面 4
位不确定,而且还是数字!也就10000个可能酱紫,很明显 这应该是爆破 ,那就爆破看看吧。
解题
爆破了密码为 195356
,查看下返回的源代码看看:
FLAG{cr4ck_7o_G3t_p455w0rd}
exec 200分
execute the command you want to get flag 工具: firefox with hackbar firefox下按f12 知识基础: linux基本操作
思路
前端页面只让输入合法的ip地址来执行ping命令,尝试抓包在后面添加其他命令。
解题
这里抓包使用 %0a
来拼接后面的命令。 %0a
是回车换行的url编码形式, ls
发现了 flag.php
文件,直接查看来获取 flag
:
cat flag.php
SEUCTF{C0mm4nd_3x3cu7i0n}
reverse
HelloReverse 50分
欢迎来到二进制的世界,这是你们的第一个挑战~ 工具 IDA Pro 7.0
附件下载 Helloworld.b0c0f1911ea4d37ee52aee62ec3d076c
先运行看看程序大概的功能
可以看出程序检测了输入,当输入正确的时候会输出flag
解题1
使用16进制查看器查看可以直接看到flag信息:
emmm 这种情况以后是很少可以遇到的了。
解题2
拖入到ida中,按 F5
快捷键 或者 View
- Open subviews
- Generate pseudocode
来生成伪代码:
从ida反编译的c代码看出,程序并不复杂,当输入的值为 2333333
的时候,调用 get_flag()
函数,输出flag
那么直接去输出flag吧:
解题3
get_flag()
函数,在c伪代码的窗口中,双击
get_flag()
即可跳转到这个函数的细节:
可以看出
flag
有20位,从数组
plain
中去循环打印出来的,双击
plain[i]
跳转到这个数组的细节:
这个20位的数组的数据都在这里,只不过这里是16进制的形式来存放的,可以直接在ida中换位字符串的形式来查看,在16进制数据上 右键
,选择转换为 S
字符串模式:
也可以直接看到flag:
SUSCTF{H3llo_wOr1d!}
HelloPython 100分
This is a python byte code compiled with python 3.6.5 Have fun : ) 工具 uncompyle6
附件下载 HelloPython.pyc
思路
pyc
文件,第一时间直接反编译一下查看源码: python反编译 - 在线工具
拿到源码如下,代码里面已经添加了我的注释了,这样更容易看懂一点:
import sys if len(sys.argv) < 5: #运行 python 文件的时候命令行参数不能小于5 print("I can't give you flag :(") sys.exit(0) def Fibonacci(n): if n == 0: return 0 if None == 1: return 1 numfn1 = None numfn2 = 1 for i in range(2, n + 1): currentNum = numfn1 + numfn2 numfn1 = numfn2 numfn2 = currentNum return currentNum def encrypt(key, s): #定义一个加密函数 b = bytearray(str(s).encode('gbk')) n = len(b) c = bytearray(n * 2) j = 0 for i in range(0, n): b1 = b[i] b2 = b1 ^ key c1 = b2 % 16 c2 = b2 // 16 c1 = c1 + 65 c2 = c2 + 65 c[j] = c1 c[j + 1] = c2 j = j + 2 return c.decode('gbk') def decrypt(key, s): #定义一个解密函数 c = bytearray(str(s).encode('gbk')) n = len(c) if n % 2 != 0: return '' n = None // 2 b = bytearray(n) j = 0 for i in range(0, n): c1 = c[j] c2 = c[j + 1] j = j + 2 c1 = c1 - 65 c2 = c2 - 65 b2 = c2 * 16 + c1 b1 = b2 ^ key b[i] = b1 return b.decode('gbk') # 当满足if这个条件的时候 处处解密后的值,应该也就是flag了 if int(sys.argv[1]) > 10 and Fibonacci(int(sys.argv[1])) == int(sys.argv[4]): print(decrypt(15,'MFKFMFMELFJEEHIFMDDGMGAGCGKGAFLHAGAFPHGHLHHGAGBGICMHAFIHAGNHODLGCH'))
解题
当然这里也可以去一个个去分析各个函数的用法和功能,我这里只能说大概看懂了,但是具体还要很多细节搞不清楚,所以我这里的话直接构造一个永真的条件来直接打印flag:
$ python3 rev.py 1 1 1 1
后面带的 1 1 1 1
是为了满足这个条件:
if len(sys.argv) < 5: #运行python文件的时候命令行参数不能小于5 print("I can't give you flag :(") sys.exit(0)
发现运行报错了,跟进到46行看下是:
很明显 NoneType
和 int
类型是不可以进行 //
的运算的,再次读代码,尝试把 None
改为 n
看看:
n = n // 2
再次运行,拿到flag:
SUSCTF{W3lcome_to_python's_wor1d}
XOR1 100分
Do u know xor?
附件下载 xor1.7aae24cabc4d80af201f4af92668c40e
先运行看看程序大概的功能
可以看出程序检测了输入,当输入正确的时候会输出flag
思路
这里感谢 Hexman 大佬的提供的wp,国光我二进制太菜了,实在没有做出来=,=
解题
XOR2 200分
Can you guess next random number?
附件下载 xor2.8296f535b9bd837f861b84afecb7ab90
思路
后续更新
解题
后续更新
Maze 200分
Did u play a maze game before?
附件下载 maze.642dd29512c16a21a9093435d70700b6
思路
后续更新
解题
后续更新
pwn
helloworld 50分
先要会连接上题目 你知道netcat吗 https://blog.csdn.net/wangqingchuan92/article/details/79666885 nc 47.100.40.190 10005
解题
后续更新
年轻人的第二道pwn 100分
是时候来分析一波可执行文件了 你能找出callsystem函数的地址和输入的buf到ret的距离吗?? example: flag{0x1234567&0x30} 不加地址前多余的0 tools: ida 等
附件下载 pwn2
思路
后续更新
解题
后续更新
pwn2plus 150分
现在文件也分析完了,那么pwn it !! // 攻击pwn2 nc 47.100.40.190 10007 tools: zio pwntools
思路
后续更新
解题
后续更新
bss_stack 150分
nc 47.100.40.190 10011 类型和pwn2一致,但/bin/sh需要你自己写入啦
附件下载 pwn3
思路
后续更新
解题
后续更新
pwn4 200分
nc 47.100.40.190 10009 接下来就要靠你自己了,题目所需要的都可以在二进制文件中找到 所以认真分析一下二进制文件吧。
附件下载 pwn4
思路
后续更新
解题
后续更新
crypto
这不是凯撒 50分
还记得刚进校时,网安学院用来迎新的凯撒密码吗? 不妨翻翻你c++课本后的附录,看看有什么编码可以表示字符和符号 txt内容如下: gmbh|E1`z1v`lo1x`btd22~
思路
感觉就是ASCII编码了,然后再偏移一下:
明文 | ASCII编码 |
---|---|
gmbh | 103 109 98 104 |
flag | 102 108 97 103 |
明显可以看出来是先将明文转为 ASCII
编码,然后 ASCII
码 + 1,再转换为字母。
解题
写个python脚本练习一下吧:
flag{D0_y0u_kn0w_asc11}
base1 50分
这就是广泛使用的base编码啦,不妨先百度一下,再来做题。 ZmxhZ3t0aGlzXzFzXzZhc2U2NH0=
解题
直接base64解码
flag{this_1s_6ase64}
base2 100分
来趁热打铁,既然你已经明白了什么是base编码,那么来猜猜下面的一段是base家族里的哪一个吧 @iH<,{pv,9Qs^m9j9GH<f,@GBW
解题
直接base91解码
flag{oh_i_use_base91}
areyouok 100分
你听过雷军演唱的《areyouok》吗,可以去b站补一下。 不过这道题和雷军没什么关系,搜索引擎才是最强大的 Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.
思路
Ook语言
特征:Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
解题
flag{4r3_y0u_0ok!!}
中国人的价值观 150分
是时候开阔视野了,原来这24个字也可以用来编码的吗 公正公正公正诚信文明公正民主公正法治法治诚信民主自由和谐法治文明法治敬业法治富强法治自由公正诚信平等公正法治法治文明公正民主法治富强公正爱国法治敬业平等友善敬业公正敬业法治和谐平等诚信平等公正敬业公正友善爱国法治自由公正平等法治文明公正平等法治和谐法治自由公正敬业公正友善爱国公正法治法治友善法治
思路
核心价值观编码算法 没错就是有这种操作,感兴趣的可以去Github查看这种编码的实现原理
解题
直接在线解码:
flag{Cryptography_is_interesting}
Misc
Crack Zip 50分
Can you help me open the zip file? 据说密码是某帅的生日 提供了一个 falg.zip 以供下载
附件下载 flag.zip
思路
生成一个 1990-2010
的生日字典,然后使用 Ziperello
开始爆破。
解题
爆破拿到压缩包密码为: 19961124
:
解压文件,打开里面的 flag.txt
拿到flag:
SUSCTF{bc5d115098676bcb0ee905dacb00e389}
今天去了四牌楼 50分
今天我用gx85拍下了这张照片,校徽真好看
附件下载 misc1.jpg
思路
一般照片中涉及到地址的,就应该联想到照片的元数据信息,一般里面可以查看到拍摄照片地点的经纬度等信息。
解题
Windows下可以直接通过照片的属性来查看元数据信息:
flag{t0_b3_careful}
二维码 50分
这个二维码为什么扫不出来呢
附件下载 misc2.jpg
思路
二维码很明显被反色了,这样是不可能扫出来的,直接在线反色看看 在线图片反色处理工具-压缩图
解题
扫描反色后的二维码可以直接扫出flag:
flag{i'm_not_good_at_misc}
zip 50分
好像压缩包出问题了 tool: winhex
附件下载 misc3.zip
思路
压缩包损坏,16进制编辑器打开,对照zip的格式来修复它。
解题
原来损坏的zip文件的头为
50 4B AA BB
很明显这里是有问题的,直接修改为
50 4B 03 04
直接解压,查看里面的flag.txt
flag{you_are_clever}
问卷里的秘密 100分
小同学,你能填一下我们的问卷吗 你研究过doc吗
附件下载 misc4.doc
思路
一般doc文档的思路是直接解压,doc其实也可以来解压的。
猜想应该没错,这个doc的内容被动过,那就直接来解压吧。
解题
解压后发现里面有一个flag文件夹,里面放着 flag.txt
:
flag{yahaha~you_find_me}
Mobile
BabyAndroid 100分
Good luck, Have fun. Tools Jeb or jd-gui
附件下载 e0efa010ca3851ec53360eb709a171c1.apk
思路
反编译看下程序的结构,查找关键部分的代码。
解题
直接反编译后,在 MainActivity
中找到了flag信息:
SUSCTF{apk_1s_vuln3r4ble}
Basic
git 25分
Q: 官博 http://susers.github.io/ 首次发布日期? A: 提交格式SUSCTF{YYYY-MM-DD} Task: - What is Github - Github 基本使用: push pull commit log
思路
找到这个博客的Github项目地址: https://github.com/susers/susers.github.io
,查看下 commit
的提交历史记录。
解题
SUSCTF{2017-08-16}
小结
通过这次比赛发现了二进制是蛮有趣的,不再像以前那么害怕二进制了,只要静下心来去分析,都是差不多的感觉,希望自己尽快变强吧,路漫漫其修远兮,吾将上下而求索。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 2018 海南省大学生网络安全攻防竞赛部分 WriteUp
- 【安全帮】 常州大学部分学生个人信息泄露 被企业作为员工虚报工资 疑逃税!
- 清华大学、北京语言大学获得 CCL 2018 最佳论文奖
- InForSec2019大学生夏令营日程来啦,我们在东南大学等你哟!
- NVIDIA/悉尼科技大学/澳洲国立大学新作:用GAN生成高质量行人图像,辅助行人重识别
- 验证码要凉凉?中国西北大学和北京大学的研究或将终结 CAPTCHA 验证码时代
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web协议与实践
克里希纳穆尔蒂 (KrishnamurthyBalachander) / 范群波 / 科学出版社 / 2003-7 / 46.0
本书全面论述了传输Web内容的系统和协议,重点讲述了Web中业已成熟和稳定的技术,如TCP/IP协议及DNS技术、HITP/1.0的设计及其与TCP之间的交互;深入阐述了Web高速缓存技术和多媒体流播技术的最新技术动态;分析了Apache Web服务器和Squid代理;还探讨了通信量的分析和测量技术。书中使用了大量示例、技术发展水平报告以及案例分析来阐述Web的工作原理和各个组件之间的交互。本书是......一起来看看 《Web协议与实践》 这本书的介绍吧!