很久没写WP了,稍微记录下自己的做题过程:

Crypto

0x01 Ordinary keyboard

这是一道安恒18年11月份的密码原题:

题目提示是凯撒,但是我没按提示来做,首先根据题目将明文和密文对应起来做一个表,如下所示:

2019年3月安恒平台周周练的做题思路分享-Alkaid

数字不会发生变化,直接写脚本,替换一下:

结果为:

2019年3月安恒平台周周练的做题思路分享-Alkaid

?是没有确定的值,可以把其他没用过的字母填上测试,最后测出来是d

 

0x02 RSA

利用openssl得到公钥中n和e的值:

openssl rsa -pubin -text -modulus -in pub.key

得到n的值,直接到http://factordb.com分解一下得到p和q:

2019年3月安恒平台周周练的做题思路分享-Alkaid

可以计算出d,最后利用pow(c,d,n)计算出m来,脚本如下:

 

0x03 DSA attack

之前没做过DSA这种非对称加密方式的题,这次好好学习了下新知识:

2019年3月安恒平台周周练的做题思路分享-Alkaid
2019年3月安恒平台周周练的做题思路分享-Alkaid

本题给出的message3和message4的签名中r是相同的,也就是说,这两个签名使用了相同的k,可以轻松解出私钥x,脚本如下:

 

Misc

0x01 qr

直接一扫得到flag:

2019年3月安恒平台周周练的做题思路分享-Alkaid

0x02 wireshark

在第二个流里就直接找到了:

2019年3月安恒平台周周练的做题思路分享-Alkaid

 

0x03 百里挑一

首先搜到flag的位置,但是这只是flag的前半部分,还得继续找后半部分:

2019年3月安恒平台周周练的做题思路分享-Alkaid

后半部分在第114个流里:

2019年3月安恒平台周周练的做题思路分享-Alkaid

 

Web

0x01 WebScan

2019年3月安恒平台周周练的做题思路分享-Alkaid

 

0x02 刀塔

使用敏感文件泄露扫描,发现有www.zip

2019年3月安恒平台周周练的做题思路分享-Alkaid

flag.php里有明文flag

 

0x03 美男子

在源代码里发现提示,有index.phps:

代码审计一波,绕过注入,rollup回滚2019年3月安恒平台周周练的做题思路分享-Alkaid

 

REVERSE

0x01 Mysterious

IDA打开找到可疑字符串,直接跟到代码段:

2019年3月安恒平台周周练的做题思路分享-Alkaid

2019年3月安恒平台周周练的做题思路分享-Alkaid

可以看到输入的字符串中的v12是一段数字,v12+1=123,说明v12是122,v14为x,v15为y,v16为z,输入122xyz即可得到flag

 

0x02 findKey

2019年3月安恒平台周周练的做题思路分享-Alkaid

这里连续使用了两个 push,需要把下面一个nop掉才能使用f5插件

2019年3月安恒平台周周练的做题思路分享-Alkaid

根据库函数可以看出这里经过md5加密,直接写脚本解决异或,再将得到的md5去查下明文

2019年3月安恒平台周周练的做题思路分享-Alkaid

得到值以后只需要动态调试时修改参数,就能得到最后的flag

或者根据代码逻辑写个脚本,再进行一次上面的异或操作,即可得到flag

 

 

0x03 CrackRTF

2019年3月安恒平台周周练的做题思路分享-Alkaid

2019年3月安恒平台周周练的做题思路分享-Alkaid

首先是第一个比较,和40个字节的字符串比较,使用sub_40100A,跟进去发现是sha1,而且前六位是数字,直接利用字符串和@DBApp拼接爆破得到前6位字符串:

得到前六位123321

到达第二步:

2019年3月安恒平台周周练的做题思路分享-Alkaid

2019年3月安恒平台周周练的做题思路分享-Alkaid

这次变成了md5,爆破六位未知字符有点吃力,为了省事直接到google的gpu里用hashcat爆:

2019年3月安恒平台周周练的做题思路分享-Alkaid

最后把字符串输入,直接打开生成的rtf文件获得flag