ISCC2016 WriteUp
日期: 2016-05-01~
注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上。刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面。
这是第一次做类似于CTF的题,在朋友的指点下做了一些简单的题目。记得上次去观摩0CTF&0Con得到的点拨:在每一次比赛结束后都要做总结。整理做出来的题目,理解没有做出来的题目。这样才会有所长进。因此打算在blog上开一个WriteUp。记下来搞定的,待未解出题有大牛放出WriteUp后,理解一下,并贴于此。
本次题目列表:

下面按照题目顺序记录:
- basic-1

解题:
首先要知道原理。针对此题,仿射加密的逆过程应为:
找11的逆元(模26的群上),简单来说就是要找一个x,使得:
11 * x = 26 * k + 1
这里k是非负数。找到是19
设每个密文元素为c,对应明文元素为p,则:
p = (19 * (y - 8)) % 26
将字母用ASCII值代入计算即可。
- basic-2

解题:
一看这么长的编码,后边还带等号,基本可以确定是base64(注意,这方面的编码还有base32/base16等等)在网上找一个或者自己写一个解密脚本(python自带base64库)就好。由于脑洞不够大,我刚开始只是解了一次就把答案贴过去,不对。后来朋友说要多解几次。哎我怎么没想到呢!然后就解了快10次,最后出来了。
- basic-3

解题:
一般题目让你做什么你做什么就好。所以...点进去:

是上图这个网页。然后猜到了要看网页源代码(幸亏之前学过HTML),于是:

得到这个字符串:Jr1p0zr2VfPp
刚开始也不知道干嘛的,不过basic前两个都跟加密有关,这个说不定也是。就是不太肯定是什么加密方法。后来朋友提示(好吧我现在水平很菜:))说是移位密码。那就写脚本跑吧。注意一点,移位密码一般只是针对于字母表移位,而且题目也没有提示跟数字有关的内容,所以保持字符串中数字位置不动:
#!/usr/bin/python2.7
string = "Jr1p0zr2VfPp"
alpha1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
alpha2 = "abcdefghijklmnopqrstuvwxyz"
for i in range(0, 26):
for x in string:
if x in alpha1:
print(alpha1[(alpha1.index(x)+i)%26]),
elif x in alpha2:
print(alpha2[(alpha2.index(x)+i)%26]),
else:
print(x),
print
然后...自寻亮点吧。
- basic-4

解题:
下载附件后打开是个:

不明所以,见到有个flag文件夹,使劲点,见文件夹就点,到最里边:

但是这个图片正常打开不了,于是gedit打开:

直接提交不对,百度了一下:

Bingo~(后来朋友说这是栅栏密码)
- basic-5

解题:
附件下载打开后是个文本文件:

百度后发现是一种javascript的奇怪编码(似乎可以绕过xss防御等等,可以再深究)
于是写一个html运行一下看看:(把奇怪编码放到script标签内容部分)

浏览器打开后:

所以嘞,下载文件吧,百度网盘~然后打开:

(⊙o⊙)…比刚刚更奇怪。但是,注意文件名:JJ
Google一下JJ javascript....JJ 编码....JJ encode....(神通广大的朋友想到的),然后:


git clone.......
有个html,打开看看是个解码器,于是复制粘贴:

之后我看到里边有个32位的字符串很可疑:

找了个MD5解密网站,发现不行。于是直接交上去,竟然是flag!
后来朋友说这是JS混淆加密,于是又...

- Web-1

点进去:

点了下Source:

解题:
根据题目说明,我们要登陆flag用户。这样就需要知道他的密码,题目说密码非常复杂。所以。。看源代码是个PHP+MySql
注意这里:

没有过滤SQL语句,说明存在SQL注入了。再看它的逻辑:

意思是说当你输入的用户名为flag,且人家数据库根据上面的SQL语句查出来的也是flag时候才登陆成功。
刚开始想用:
' or 1=1 or '
注入,但是这样事实上会把所有用户查出来,不符合人家结果,所以不正确
于是:
' or user='flag
这次OK:

- Misc-1

数据包:

打开(用wireshark):

解题:
数据包是个局域网内SSDP服务请求包,看了半天没什么东西。于是在没思路的情况下,二进制打开吧,之前flag都是有很明显的flag标识告诉你这是flag的,所以,搜一下:


有戏,找到那个地方看看:

提交时候记得把空格去掉。
ISCC2016 WriteUp的更多相关文章
- iscc2016 pwn部分writeup
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp
洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...
- 爱春秋之戏说春秋 Writeup
爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...
- 《安全智库》:48H急速夺旗大战通关writeup(通关策略)
作者:ByStudent 题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...
- We Chall-Training: Encodings I -Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- We Chall-Encodings: URL -Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- We Chall-Training: ASCII—Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- pwnable.kr-collision -Writeup
bof html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...
随机推荐
- [.NET逆向] .net IL 指令速查(net破解必备)
.net的破解比较特殊,很多人看见IL就头疼,最近在研究的时候发现了这个东东 相信对广大学习net破解的人一定有帮助 .对上指令表一查,跟读原代码没什么区别了, 名称 说明 Add 将两个值相加并将结 ...
- 怎么搭建EF的环境?(Entity Framework)
1.EF是什么? EF是.net封装的一个用于数据库交互的实体层框架,它的全称是Entity Framework. 2.EF搭建: 新建之后,我们就可以看到里面的内容: 我们可以分别看一下它里面有些什 ...
- 简单回顾NPOI导入导出excel文件
当前环境.net4.0 去官方下下载: NOPI官网 关于NOPI的详细,这里就不再介绍. 在项目中,我们只需引入 NPOI.dll 就可以了. 接下来..................... ...
- Overload 和Override 的区别
Overload 是重载的意思,Override 是覆盖的意思,也就是重写.重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同).重写 ...
- php图片验证码为什么必须加上ob_clean();才能正常显示。
ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区. If you work on an extremely lar ...
- 《TypeScript 中文入门教程》 1、基础数据类型
转载:https://github.com/MyErpSoft/TypeScript-Handbook/blob/master/pages/zh-CHS/Basic%20Types.md 概述 为了让 ...
- 高级Bash Scripting系列笔记--01之“什么情况不适用Bash Script”
1. 占用资源的任务,尤其那些影响速度的工作 比如排序,哈希,递归等等. 2. 大量使用数学运算 尤其是浮点运算,比如任意精度的计算或者复数计算等等,这类使用C++会好很多. 3. 跨平台的(适用 ...
- [发布]SuperIO v2.2.5 集成OPC服务端和OPC客户端
SuperIO 下载:本站下载 百度网盘 1.修复串口号大于等于10的时候导致IO未知状态. 2.优化RunIODevice(io)函数内部处理流程,二次开发可以重载这个接口. 3.优化IO接收数据, ...
- c#的那些有效性判断
在开发中合理的对象有效性判断是程序健壮性的重要保障,也有利于提高程序的执行效率.本人简单总结了几个需要判断对象是否为空的例子,分享如下: 一.集合对象中可以包含空对象,遍历集合对象时要同时判断集合中的 ...
- React入门最好的学习实例-TodoList
前言 React 的核心思想是:封装组件,各个组件维护自己的状态和 UI,当状态变更,自动重新渲染整个组件. 最近前端界闹的沸沸扬扬的技术当属react了,加上项目需要等等原因,自己也决定花些时间来好 ...