2021-04-17 | 随便写的什么奇怪的东西 |
前言
这次去线下,很累,但也很好玩,同时也是没发挥好的一局。
说来惭愧其实是被省里安排进线下的。因为无论是线上线下都是一个人打。。然后线上距离进线下还有一定距离。
原本然后想着算了就划水了,连wp都懒得交。结果因为是本地政府办的,所以特地安排了个“本地代表队”。
然后就愉快的进去划水了。

经过
和预期的不同,这次比赛是打靶场的形式。并不是AWD形式,这是开打之前我才知道的。甚至在比赛之前一晚的讨论都是关于AWD的,
详情可以看这
靶场还是比预期的熟悉很多,上来分为7个资产和一堆其余的小资产,都在两个/24段中,之后你需要收集这些资产,打下这些站点,就和现实中有点类似,不过简化了内网渗透的流程。特别是域渗透啊钓鱼啊这方面都省去了。不过总体来说还是十分的好玩的。
有幸混了个首杀1血,直接拿tp洞打的。那些非资产的那些东西,是允许搅屎的。打完上去把shell或者漏洞点改了之后别人就登不进去了,所以基本就是比个拼手速的过程。
我也是在每个点打过去之后才知道。一个人手动慢慢每个访问过去,把所有资产理清楚之后,站点也基本被其他人打完了。
还有就是,他这个没办法反弹到我们的攻击机系统,然后冰蝎那个正向shell和rege那啥的正向反弹shell代理实在是tmd不能用,下次我一定tmd要整个web组件让cs可以网页正向上线,淦。导致内网机器压根没打。
甚至被搅屎到,我还要靠着爆破别人的webshell才能上车。因为有个组件是phpstudy部署的。然鹅我第一次用xray没扫到。。甚至赛组给了提示之后我每次都用各种exp尝试都失败,这时候你无法知道到底是你的方式有问题还是靶机有问题,不敢去找裁判。
导致最后才根据别人的车上了这个环境。
一个人打是真的太难太累了。很多都没发挥出来,甚至不如和群友打的1/10的水平。最后由于实在太菜,只摸到了个这个

(不是俺的手)
题外话
不过好处是面到了一个很早以前认识的师傅。认识的时候都不敢讲话,俺害羞。
最后还收到了Canarypwn 托同学带的明信片,真的是太太太太感谢辣

拖着保肝16小时的身躯写完了这个,不行了太困了睡啦
2021-04-04 | 技术文章 |
前言
因为前两天打ctf时候遇到了一个题,挺有意思的。win10默认输入法会记录下词频和一些语句信息。
详细可以参考文章: 输入法取证:一种Windows8/10中文用户输入痕迹信息
文章地址很容易失效,我就提供标题了。
总之就是在
C:\Users\username\AppData\Roaming\Microsoft\InputMethod\Chs 下有两个ChsPinyinUDL.dat和ChsPinyinIH.dat文件里面有记录词频信息。
依据上述基于数据流的逆向测试策略,对两个DAT用户词库文件进行结构分析,发现ChsPinyinlH和ChsPinyinUDL两个DAT文件存储的输入记录信息数据起始位置分别是在文件偏移地址0x1400处和0x2400处,每条用户输入记录信息的存储长度都是固定的,占用60个字节。
结构如下


最后附上代码
f = open("ChsPinyinUDL.dat","rb")
data = f.read()
data = data[9216:]
f.close()
i = 60
n=1
while True:
chunk = n*i
chunk_len = data[chunk+12:chunk+12+48]
hex_chunk_len = ['%02x' % b for b in chunk_len]
print(chunk_len.decode("utf-16"))
n+=1
if chunk>=len(data):
break
f = open("ChsPinyinIH.dat","rb")
data = f.read()
data = data[5120:]
f.close()
i = 60
n=1
while True:
chunk = n*i
chunk_len = data[chunk:chunk+4]
hex_chunk_len = ['%02x' % b for b in chunk_len]
print(hex_chunk_len[::-1])
unicode_chunk = data[chunk+12:chunk+12+data[chunk]*2]
hex_unicode = ['%02x' % b for b in unicode_chunk]
print(hex_unicode[::-1])
print(unicode_chunk.decode("utf-16"))
n+=1
if chunk>=len(data):
break
效果图

2018-12-01 | 随便写的什么奇怪的东西 |
加了个社团,正好这次省内有比赛,就参加了。
不如说ctf,这种东西,我老早就不大接触了。。
这次是三人一组,和两个学长一起_(:з」∠)_。。学长们都好强啊。。像我这种只能划水的。只能默默的看着了。。
因为早上体测时间和比赛开始时间撞上了。所以错过了一些题目。
中午的时候弄Misc,是一道图片隐写。我没看题目,看了下pcap文件,一看是一个分析sftp的。
乐了。东西全部提取出来了。其中一个是假flag。结果一看题目,Misc,好哇是隐写。
想了半天以为是什么高级隐写,分析了IHDR什么分析了半天,错失了一血的机会。
最后确实普通的LSB低位隐写就行了。。
之后有一道题目很有意思。
拥有写任意文件的权限,但是任意文件之前会必须执行一个die命令来退出。这就很讨厌了。
被这个题目卡了半天,最后还是看了大佬的博客谈一谈php://filter的妙用
才解出来的。。
还有一些题目,比方说flask那题目。
标准的转义漏洞拿secret_key计算得出admin的session然后登录拿flag。
我到最后快结束了才知道这题目是有代码的。惊了!!!
然后花了一些时间审计代码。
就快要得出结果的时候结束了_(:з」∠)_。。真的好可惜啊。
还有就是加密和逆向,这两个,前面一个是看得懂代码看不懂意思(。后面哪个是看不懂代码但是懂的意思hhhh,但是无论哪个对我来说都是苦手级别的存在,所以就完全跳过了QAQ
通过这次,我也感觉我PWN水平太弱了。PWN题目感觉是我明明可以驾驭的,但是之前因为没有驾驭的经验所以导致这次完全的失分。
第一道题是很明显的溢出漏洞,第二个是很明显的format溢出。
不对,是非常明显,而且还给出了bin文件。
理论只要上去构造溢出exp,然后去nc连接执行
就行了,但是因为没有经验,现场去学习也太难了。
所以无奈只好放弃了。。
最后排名的话,还算过得去,原本是二十多名,前几名都是省内那种dalao级别的学校,RBQRBQ,tqltql。
但是最后瞬间低了十名,感觉是同学校的交换flag还是啥_(:з」∠)_。。毕竟是同一个学校的。
不过即便是这样,决赛应该还是能进的吧。。
AWD倒是真的没怎么打过Hhhh这次过去貌似真的只能划水了23333