D-Link路由器后门注记

这是学习 http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor 动手实践时做的一些记录。

下载 ftp://ftp.dlink.eu/Products/dir/dir-100/driver_software/DIR-100_fw_reva_113_ALL_en_20110915.zip

1
2
3
4
5
6
7
8
% binwalk -e DIR100_v5.0.0EUb3_patch02.bix

DECIMAL HEX DESCRIPTION
-------------------------------------------------------------------------------------------------------------------
4 0x4 Realtek firmware header (ROME bootloader) image type: RUN, header version: 1, created: 9/17/2011, image size: 1690484 bytes, body checksum: 0xA, header checksum: 0x67
13046 0x32F6 mcrypt 2.2 encrypted data, algorithm: blowfish-256, mode: CBC, keymode: 8bit
403343 0x6278F gzip compressed data, has CRC, extra field, last modified: Tue Jun 6 18:51:20 2028
646032 0x9DB90 Squashfs filesystem, big endian, version 2.0, size: 1041011 bytes, 528 inodes, blocksize: 65536 bytes, created: Thu Sep 15 17:11:28 2011

得到squashfs文件系统9DB90.squashfs。留着这个文件不动,还要准备另一个工具。

Read More

约瑟夫问题的两个O(log n)解法

这个是学习编程时的一个耳熟能详的问题了:

n个人(编号为0,1,...,n-1)围成一个圈子,从0号开始依次报数,每数到第m个人,这个人就得自杀,之后从下个人开始继续报数,直到所有人都死亡为止。问最后一个死的人的编号(其实看到别人都死了之后最后剩下的人可以选择不自杀……)。

这个问题一般有两种问法:

  • 给出自杀顺序。不少数据结构初学书都会以这个问题为习题考验读者对线性表的掌握。比较常见的解法是把所有存活的人组织成一个循环链表,这样做时间复杂度是O(n*m)的。另外可以使用order statistic tree(支持查询第k小的元素以及询问元素的排名)优化到O(n log n)。另外有篇1983年的论文An O(n log m) Algorithm for the Josephus Problem,但可惜我没找到下载链接。
  • 求出最后一个人的编号。可以套用上一种问法的解法,但另外有更加高效的解法,下文展开讨论。

Read More

HDU OJ一些题目

关于做题这回事,引用一下:

1
2
Chao Xu,Haskell用户.
acm算是用来训练秒面试题的一个方式。 像我这种非cs系学生全靠玩acm的训练秒各个公司。

深以为然。算法题带来的代码能力的效用实在是太大了,除了训练思维外对速度、准确性也有极大帮助。真切感受到解决一个大作业花了数小数编写,再花了更长的时间调试,和立刻写完、写完就对的差异。订阅过一些邮件列表,偶尔能看到一些非常苍白的问题的人,也能看到内容可能更空洞的回复。以及市面上很多浮夸的书。如果方法恰当潜心研习一段时间应该不会出现这样的问题呢。所以当我看到《编程之美》这个书名的时候,第一印象也是那类浮华的书,等待之前某次活动拿到一本看才发现不是,”编程“、”美“字样在我心目中的地位都被这些浮夸的事物玷污了。

我现在发现自己看过的东西拓扑顺序不太对了,简单说就是ld -la -lb -la,这可以算作一个tech joke吧。昨天经过fqj1994指导,今天终于把https开起来了,感觉又有所提高,好开心啊。

Read More

DEFCON 21 CTF参赛记

7月31日

我和Kelwin、zTrix、LittleFatter等同行,在大本营集合,并领到了队服:

队服背面logo总感觉需要重新设计一下。另外三名队员已经到达拉斯维加斯了,而Fish尚未启程。在UA888飞机上待了三个多小时,因为飞机故障我们被安排在北京临空皇冠假日酒店住一宿。

Read More

DEFCON 21——我的奋斗

记得DEFCON CTF Quals是在6月15日到6月17日早晨,而8:00我要参加数字逻辑电路的期末考试。0:00多回到寝室,舍友告诉我之前台湾小学期的事还有很多手续要办,而我都没处理。我得在北京市出入境管理管理办事大厅上预约,做完各项活动已是1:00多,5:30起床“预习”数字逻辑电路两小时就迈向考场。

Read More

第二届青少年开发者大会

昨天逛微博时无疑发现今天居然就是第二届青少年开发者大会了,之后又看到果壳网也有介绍,背景图片第一眼看去就是郭老师,再一眼刘啸宇,感觉奇怪……推测一下原来第三个人似乎是我,想起来第一届大会时的情形了……恰好ppwwyyxxzxytim也在学校,就约定今天来凑个热闹了。会场在中国科学院计算中心研究所,入会场时大概刚好9:00,人还是不多。这一次确确实实是青少年的开发者大会了,参会学生很多,而不像第一次大会主要都是已经工作的讲者。我记得第一届大会郭老师还说大会还有年龄限制,他都快到限制了。现在我们三个“老人”来这里算不算不接地气。以前人人时似乎有一群“跪圈”在北京活跃的人,不过老实说我真不喜欢“跪圈”这个说法。互相学习是件好事,不过膜拜和跪来跪去还是免了。这些人似乎都没有来,和去年相比平均年龄也许能下降10岁吧。我们三个就成了这里年纪最大的几个人了。这可能是因为北京的青少年开发者比深圳多?也可能是宣传做好了。不过用just-ping.com测试2013.adc-cn.org,大多数检测点都返回Packets lost (100%)

Read More

使用Suricata进行IDS/IPS

Suricata

Intrusion detection System(IDS)监控网络或系统,寻找各类违反安全方针的行为。Suricata是Open Information Security Foundation和其他相关支持协会从2009年开始开发的一套用于网路入侵检测(IDS)、入侵防护(IPS)及网络监控的系统。这方面最著名的产品是Sourcefire的Snort。那么为什么要选择Suricata呢?我在这方面的知识还几近空白,无法在架构之类的方面作出判断,想的到的用Suricata的理由只有这三点:

Read More