头部背景图片
ssyeats'blog |
ssyeats'blog |

安恒7月赛部分题writeup

安恒7月赛相对较简单,本文章介绍了web1,web2,CRYPTO,MISC1的解题步骤

web1 order

这是一题关于order的注入,很简单的哦!同学们尝试下注入吧!

正好最近在学sql注入,感觉题目还是挺友好的,用burpsuit抓包

1
2
3
4
5
6
7
8
9
10
GET /?order=name&button=submit HTTP/1.1
Host: 101.71.29.5:10004
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://101.71.29.5:10004/?order=id&button=submit
Cookie: Hm_lvt_d532469474a471feb9f849e2bf8fb4c1=1532150292; Hm_lpvt_d532469474a471feb9f849e2bf8fb4c1=1532150313
Connection: keep-alive
Upgrade-Insecure-Requests: 1

判断应该是GET型注入,直接上sqlmap吧,在name后加“*”,用sqlmap跑一下,得到结果

flag{666_0rdorby_you_can}

web2 就这么直接

源代码都给你了 你想想办法吧!

既然提示说给了源码,那就找找源码吧,进入靶机,右击查看源代码,发现hint.php,访问它,看到源代码,看不懂!!!和大佬学习了一下,大概意思是输入key,用key计算resault,然后输出,但是这个输出由于srand函数会很快地变化,然后测试一下,随便输入一个数,然后看源代码,发现后边给了答案,这应该就是resault的值,尝试输回去,发现不对,说明srand函数使答案的有效时间很短,嗯,是时候上脚本了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import requests
import re
def get():
url='http://101.71.29.5:10003/flag.php'
data={
'answer':'983f602ccd65e33d496fa6ebbdd7dad4'
}
r=requests.post(url,data=data)
f = open("web2.txt", 'w')
f.write(r.text)
f.close()
print("get success!")
def getTitle(booktext):
return re.search( r'<!--(.+?)-->', booktext, re.M|re.I).group(1)
def sent():
f = open("web2.txt", 'r')
message = f.read()
f.close()
message = getTitle(message)
print(message)
url='http://101.71.29.5:10003/flag.php'
data={
'answer': message
}
r=requests.post(url,data=data)
print(r.text)
print("post success!")
if __name__ == '__main__':
get()
sent()

脚本也是大佬给的,小萌新费劲巴力才看懂,感谢大佬!

运行几次,获得flag。

crypto

又是rsa!用hex 打开problem文件,得到n,e,c,发现e=3,可判断为低指数加密,发现c<n,所以直接开三次方,但是精度不够,啊啊啊!精度!精度!精度!搜了一下发现gmpy2有提高精度的方法

mark

mark

得出精确的数之后,放到hex中得到flag。

misc1

题目提到刷新,只能是F5啊,可是杂项和F5有什么关系啊,百度发现居然有F5隐写,直接利用工具

F5-steganography

1.下载地址:https://github.com/matthewgao/F5-steganography

2.进入F5-steganography-master文件夹,在空白处 ctrl+shift+鼠标右键->在此处打开命令窗口

3.在cmd中输入命令:

java Extract 图片的绝对路径/123456.jpg -p abc123

4.查看output.txt,发现是乱码,放到hex中发现是Zip文件的格式,保存为Zip格式,解压,发现需要密码,首先考虑是不是伪加密,看504B0102后9到12位,发现不都是0,说明是伪加密,9到12位都变成0,解压,得到flag:flag{96efd0a2037d06f34199e921079778ee}