杭电hgame-week1

萌新的第一次hgame开始了。week1的难度比较友好,至少从web上来说是这样的,自己目标也不高,争取做到每个week能akweb就满足了。这次的web整体上比较简单,除了我自己被坑到的codeworld(中间居然被ban了ip,我只是用脚本post了一次 ,没拿扫描器扫啊啊啊)剩下的3题加起来基本1小时以内就能做完hh。除此之外还试了试密码学跟misc的简单题,也都写一写过程吧。(另外体会到re,pwn真的是爸爸,爷爷,排名高的基本都是二进制的......,我什么时候才能学会二进制啊)

看到官方发布了才发的,那就贴下官方的:https://github.com/vidar-team/Hgame2020_writeup

WEB

Cosmos 的博客

git

显然提示的是源码泄露。那么就果断GitHack走起。可是拿下来的结果只有index.html与css文件。这时候一开始我陷入了错误的想法,具体参考原来ichunqiu上做过的‘登陆’一题。于是我使用了能够回滚的githack,在它爬下的objects里一个个找(具体方法如下)

git  cat-file -p /两位数/文件名

查看完所有objects也没有什么收获,除了出题人的github......那么是否是历史回滚呢?但用git找却只找到一个版本,感觉不太对劲。那就上github上找找吧......结果还真有。
commit

下面的版本中就有flag的base64编码

接头霸王

题目上来没啥提示,除了一张接头霸王的图片跟you need to come from vidar.club


要说web里跟头有关的,那只能是抓包里常见的Header了。加上come from 某个网址,不难知道就是http Header中referer这个属性。这个属性之所以有名,跟它将错就错的拼写有关,正确拼写显然是referrer,而这个错误拼写是早期规范的错误因为向后兼容遗留至今的。其作用是告诉服务器我们访问者是从哪链接过来的,从而进行区别处理。
那么先加referer头


referer

提示要从本地访问,那就更熟悉不过了,因为这用到已经烂熟于心的XFF头了。常常用于伪造ip。所以我们令XFF头为127.0.0.1.


xff

提示改浏览器,那只需改User-Agent 头,加上cosmos即可。


user-agent

flag要在2077后更新?一看到2077我就想到去年新手上场的中科大hackergame里的信息安全2077,那道题就是通过改header中一个属性来拿flag。这道题应该也一样吧......那么我们要改什么属性呢?先来看看response:
Last-Modified

注意到有Last-Moified这一属性,而requests的请求头中与之对应的就是If-Unmodifed-Since,其官方解释

HTTP协议中的 If-Unmodified-Since 消息头用于请求之中,使得当前请求成为条件式请求:只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。

所以改好时间在2077之后:


If-Unmodified-Since

code world

这道题做出来的人数算是所有web里面最少的了,但是自己一开始傻傻的卡了好久......
开始一个403,不过作为ctfer,千万不要相信这个403是真正的403,那么先抓个包,果不其然


302

提示存在302,那么直接访问index.php吧,抓包后发至repeater发现存在405,那么果断改成POST请求方式,得到:


人机验证

那么提示通过url传值,那果断传/?a=5+5啊,结果返回说“再想想”。自己顿时陷入迷茫,一开始想是不是不是用+连接,后来又想,基于题目是codeworld,是不是要代码执行?但是fuzz了一下,发现并没有回显执行的点。于是陷入迷茫。后来,自己在检查自己抓的包时,意外发现了一点:

get传值

对了!在进行get传值时,他会把加号处理成空。也正因如此,题目才会要求url传值并使用相加这种方式来设置限定。所以payload即为
/?a=5%2B5
flag

🐔尼泰玫

游戏题hhh但从游戏角度过分难了。显然游戏只是幌子,应该找到网站里能post值的操作,于是尝试狂点‘开始游戏’,果然提示需要300000分时抓到post包。改包就好。


Crypto

InfantRSA

有生之年还能做出RSA......因为看到RSA几个参数提示的很清楚就干脆去网上嫖脚本了。在装库的时候就很无奈,gmpy2总是弄不好。最后去找了个whl,pip install下总归能用了

import gmpy2
import binascii


p = gmpy2.mpz(681782737450022065655472455411)
q = gmpy2.mpz(675274897132088253519831953441)
e = gmpy2.mpz(13)
phi_n = (p-1)*(q-1)
d = gmpy2.invert(e, phi_n)
c = gmpy2.mpz(275698465082361070145173688411496311542172902608559859019841)
m = pow(c, d, p*q)
print("十进制:\n%s"%m)
m_hex = hex(m)[2:]
print("十六进制:\n%s"%(m_hex,))
#print("ascII:\n%s"%((binascii.b2a_hex(hex(m)[2:])).decode('hex'),))
print("ascii:\n%s"%(binascii.a2b_hex(m_hex).decode("utf8"),))

RSA

misc

欢迎参加HGame!

Li0tIC4uLi0tIC4tLi4gLS4tLiAtLS0tLSAtLSAuIC4uLS0uLSAtIC0tLSAuLi0tLi0gLi4tLS0gLS0tLS0gLi4tLS0gLS0tLS0gLi4tLS4tIC4uLi4gLS0uIC4tIC0tIC4uLi0t

一开始不太清楚这是什么编码,后来百度一下发现就是base64。回头想想,发现毕竟是数字+字母的组合,可以考虑base系的编码。
解码后为morse电码,在线解一下就好了。

壁纸

题目下下来打开是个图片,扔winhex里看发现末尾提示flag.txt以及密码是图片id,图片名则标注了pixiv。。。估计是要改成压缩包了,所以也没去看有没有压缩包文件,头就直接改zip,果不其然是压缩包,内容为flag.txt,需要密码。那就直接上p站找这个画师吧(感觉吃了一波强行安利啊)找到图片后用密码看flag.txt,最后结果ascii解码一下就好。

签到题ProPlus

一时兴起还是看了看这道misc。上来先给了一个压缩包一个文件,文件内容

Rdjxfwxjfimkn z,ts wntzi xtjrwm xsfjt jm ywt rtntwhf f y   h jnsxf qjFjf jnb  rg fiyykwtbsnkm tm  xa jsdwqjfmkjy wlviHtqzqsGsffywjjyynf yssm xfjypnyihjn.

JRFVJYFZVRUAGMAI


* Three fenses first, Five Caesar next. English sentense first,  zip password next.

看到fences跟ceaser就想到了栅栏跟凯撒密码了。加上提示先3栅栏,再5凯撒,那么在线解下码,对应组数与偏移数分别为3,5即可。解出来前面一句话如下:
Many years later as he faced the firing squad, Colonel Aureliano Buendia was to remember that distant afternoon when his father took him to discover ice.
出自百年孤独,不知道有什么用。解出的密码用来解压加密的压缩包,得到文档

data:text;ook,
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.............

有点摸不着头脑,于是谷歌一下,发现这是属于brainfuck编码中的一种,不禁让我联想到了原来伤眼睛的jsfuck编码......那么在线解码一下(找个好点的网站,开始我找的网站只解了一部分),得到base32编码。再base32解码,发现得到的结果可以进行base64解码,且结果开头有图片的文件头。那么可以确认是图片文件内容进行了base64编码。那直接解出文件就好了(可以用python,也可以在线)。得到二维码,直接扫码得flag。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 前两天无意间翻到一个CTF平台--BugKu,记下wp WEB 1.Web2 查看源代码即可得到flag 2.计算...
    BerL1n阅读 3,683评论 0 1
  • HGAME 2019是我参加的第一个正式的比赛,最后拿了73名,我还是太菜了啊……这是一部分Writeup,还没全...
    NoelleMu阅读 2,439评论 0 1
  • WEB2 看源代码得flag 文件上传测试 找一张图片上传,截包改后缀名为.php得flag 计算题 F12修改输...
    a2dd56f6ad89阅读 18,492评论 0 2
  • 写下岁月的画轴,江水之湄。聆听远方,尘埃中的烟花,盈盈谈笑间,见得手把青秧插满田,低头遍见水中天。 日光如那静灭,...
    风梦明珠阅读 417评论 2 6
  • 1,备货下单,下单产品已录鹏邦, 2,crm做送货,录客户订单, 3,荣成申请护理返点申请已申请好,10月份除螨资...
    239b3124d0ae阅读 57评论 0 0