春节在家,正好看到了这个活动,好久没有打CTF了,就来试试水。

倒数第二道题——Go程序的Crackme

这类分析资料少之又少,我也是第一次做分析golang语言编写的程序,只能先用IDA Pro试试水。

首先明确一点就是Go语言程序的入口函数叫做 main_main,这个程序初步看起来蛮不错的,保留了Go语言的函数符号,所以很方便我们清晰的识别出Go语言库函数的名称。配合动态调试,可以明确出几个打印和输入的参量。

获取了用户输入的UID后

对UID进行了sha1的运算。使用go语言的实现,与IDA的分析出来的语句结构相差并不是很大。

[cr[……]

瞧瞧更多?

浮浮沉沉又是一年,再次到达人生的十字路口,面临抉择。处理了一下快到期的虚拟主机,正式迁移到了VPS上面去,博客应该在今年不会有太大的动作了,也是时候潜心的看一些资料了。一年时间不多,也飞快,感觉远不及之前的学校的所学与所得,甚是悲哀。也该考研了,也该慢慢的看看资料提升一下自我了。闭关、学习。

随手又点了点友链里的博客,小伙伴们已经没有当年的那种感觉了,或许都在怀念?哎。。又是清明雨上。

2018年4月6日

差点忘了一道题……gakki小姐姐的……当时一直说crc错误,事后晚上和大表哥们吃饭的时候,我才知道原来是改了图片高度和宽度……导致CRC出的问题……真神奇。

很明显下面没有显示全。010Edito人走起。

改一下高度

 

 

 

 

 

 

 

 

 

 

 

 

由798改到1200左右,flag可以看到了。

 

时隔一年,我又碰到这个题了,后悔没当时在做阿里CTF的时候没有记录一份……好久没打比赛,当时看到题最后都懵了,真尴尬。

熟悉的界面,也就改了标题貌似。看一下反编译代码,也就两个关键点

一个是is算法

 

一个是判断时间是否结束,然后显示flag,还有对k加100还是减去1

 

然后这个flag的生成就是利用这个k值调用native方法生成的。神秘的k~

提取出来关键算法,然后先算出来k(161638[……]

瞧瞧更多?

好不容易等到了第六届大学生信息安全大赛,打了也有四五届了吧。这次靶机难得遇到一道pwn题,好气的是比赛前晚上竟然系统崩了,万幸的是最后又复活了。第二天打比赛的时候,才发现我Kali虚拟机上的pwntool完全崩掉了。哎……

今晚正好有点时间,正好做了一下。

下下来题显示是xxx.key文件,然后查了一下是elf的32位,我一开始还以为是ssh的什么密钥攻击呢……然后IDA 分析

 

 

 

 

没别的东西,直接进locker函数

 

 

 [……]

瞧瞧更多?

最近使用elasticsearch做搜索引擎索引的时候,需要多次修改索引,但是已经存在的索引无法更改,以为只能重建索引。突然发现使用ignore_conflicts=true参数可以强制更改。

 

在Go语言当中,好多功能都使用了结构体标签。主要应用在encoding/json和encoding/xml之中。那么我们先用Json的使用做一个例子。首先创建一个结构体。

对于结构体的标签就是紧跟成员定义后,类型后面的那串字符串,就是标签。其中出现的这个是Golang为了保持源字符串的意思。这个结构体标签,在编码后,Json中的Key值就会被响应的tag个中json后面的名称代替,在此使用的是Go语言的包反射机理获取标签再填充为Json,具体我们下文再说。在没有使用结构体表情的情况下,我们使用json.Marshal进行处理[……]

瞧瞧更多?

最近在参与一个比赛,模拟了实验环境的攻击脚本。就是让遍历字典,去破译mssql数据库的密码,当时想了许久。其实思路很简单,就是利用简单的数据库的连接就能判断密码是否正确。对于mssql而言,每个用户始终都存在这个tempdb,到时候连接的时候直接连接这个库就行。利用python实现了一下。

[……]

瞧瞧更多?

忘了什么时候保存的更新脚本了,蛮不错的,只要pip保持最新版本,所有库都能更新的了,不用手工的一个一个的更新了,代码出处忘了……如果知道的麻烦提醒一下。

在此记录一下,代码很短。