ch3cke的小站

长夜将至,我从今日起开始守望

0%

Here's something encrypted, password is required to continue reading.
Read more »

Here's something encrypted, password is required to continue reading.
Read more »

DeltX

首先使用IDA打开程序,64位程序,程序逻辑分析如下:

读取flag,验证其前缀和指定符号:

image-20210912112501110

限制字符的范围为0-9a-z,注意16进制大部分大写,个别小写。并将其转为16进制后,进行运算

Read more »

Here's something encrypted, password is required to continue reading.
Read more »

几天做了几道逆向题,简单记录一下解题思路和过程

Petition

程序链接这个题目来自某次比赛的一个逆向题,比较有意思的是这个题目存在一些小小的问题,存在一些小小的反调试,题目中的数据操作大部分是异或操作,逆向起来直接反汇编无法分析程序,只能看汇编。首先用IDA打开程序:

分析这个程序,可得这个程序的检验的方式是逐字符检验,一旦有某个字符错误,就会直接推出,根据题目的难度和数据操作的方式,现有两个解决方案:

  • Pin 插桩

  • 直接逆向

Read more »

基于识别时间窗中的数据包定时异常检测汽车CAN网络攻击

2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops

本文主要介绍一定时间窗口内的CAN数据包的序列异常来识别网络攻击,提出了一种分析CAN广播和随后的测试统计方法来检测时间变化的CAN流量指示一些预测的攻击。检测是在时间定义的窗口中实现的。

基本概念

CAN总线:CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J 1939协议。

Read more »

CTF Game Challenges

I have been learning about game hacking recently and the best way I could find legally to practice is by playing CTFs.
But the difficult part is finding out the Game challenges from previous ctfs.

This list includes game challenges I encountered while playing ctfs and reading writeups.

cscg2020_rabbit

Also just FYI as some of the gameservers are offline and there is no clear way to set it up or the developers have not opensourced it we can’t play it now.

Read more »

主要记录一下几道题目,不记得哪个CTF比赛的题了。

easy_RAS

文件内容包括:

1
2
3
4
n:0x9371c61a2b760109781f229d43c6f05b58de65aa2a674ff92334cb5219132448d72c1293c145eb6f35e58791669f2d8d3b6ce506f4b3543beb947cf119f463a00bd33a33c4d566c4fd3f4c73c697fa5f3bf65976284b9cc96ec817241385d480003cdda9649fa0995b013e66f583c9a9710f7e18396fbf461cb31720f94a0f79L
e:0x3
encrypt(m):0x5f4e03f28702208b215f39f1c8598b77074bfa238dfb9ce424af7cc8a61f7ea48ffbbd5a5e1a10f686c3f240e85d011f6c8b968d1d607b2e1d5a78ad6947b7d3ec8f33ad32489befab601fe745164e4ff4aed7630da89af7f902f6a1bf7266c9c95b29f2c69c33b93a709f282d43b10c61b1a1fe76f5fee970780d7512389fd1L
encrypt(m+1):0x5f4e03f28702208b215f39f1c8598b77074bfa238dfb9ce424af7cc8a61f7ea48ffc5c26b0c12bcff9f697f274f59f0e55a147768332fc1f1bac5bbc8f9bb508104f232bdd20091d26adc52e36feda4a156eae7dce4650f83fabc828fdcfb01d25efb98db8b94811ca855a6aa77caff991e7b986db844ff7a140218449aaa7e8L

考的点是RSA算法,已知n、e、m和m+1, 计算明文。已知
$$
(m ^ e) = k_1n+encrypt(m)
$$

$$
(m+1)^e =k_2
n+encrypt(m+1)
$$
联立两个方程,相减,可以得出,其中,两个k可以视为相等,因为两个加密的数据相近:
$$
(m+1)3-m3=(encrypt(m+1)-encrypt(m))
$$
化简得:
$$
3m(m+1)=(encrypt(m+1)-encrypt(m))-1
$$
可以将m+1视为m,粗略计算出m的范围,然后通过一步步爆破每个字符来计算密码,解密脚本如下:

Read more »

Here's something encrypted, password is required to continue reading.
Read more »

Here's something encrypted, password is required to continue reading.
Read more »