Aha.
post @ 2021-11-17

怎么说呢,知易行难吧,还是多写一写,多留存一点资料,这会是一个专题,off_by_null的第一部分,这几天不再想做题了,等过一段时间,有空再把后续的部分更新了吧


原理部分:

摘自wiki:

off-by-one 是指单字节缓冲区溢出,这种漏洞的产生往往与边界验证不严和字符串操作有关,当然也不排除写入的 size 正好就只多了一个字节的情况。其中边界验证不严通常包括

  • 使用循环语句向堆块中写入数据时,循环的次数设置错误(这在 C 语言初学者中很常见)导致多写入了一个字节。
  • 字符串操作不合适

一般需注意栅栏错误和strcopy()

一般来说,单字节溢出被认为是难以利用的,但是因为 Linux 的堆管理机制 ptmalloc 验证的松散性,基于 Linux 堆的 off-by-one 漏洞利用起来并不复杂,并且威力强大。 此外,需要说明的一点是 off-by-one 是可以基于各种缓冲区的,比如栈、bss 段等等,但是堆上(heap based) 的 off-by-one 是 CTF 中比较常见的。我们这里仅讨论堆上的 off-by-one 情况


类型一:

Read More
post @ 2020-11-17

换源

找到系统中保存源网址的文件
在Linux系统中,apt源的网址保存在

1
/etc/apt/sources.list

linux系统中/代表根目录
注意:/etc这个文件夹几乎放置了系统的所有配置文件
通过/etc/apt/sources.list的路径名称,我们也可以推测出该文件的用处。

(2) 在该文件修改源网址
我们已经知道了,目标文件夹的位置,相当然的想法是直接去该文件中修改它。
可是直接修改系统默认配置是一件有风险的事情。所以修改的第一步是将该文件备份。

2.1 备份文件
输入第1个指令:

1
sudo cp /etc/apt/sources.list sources_backup.list

注意:操作/etc这个文件夹,需要超级用户su的权限,所以使用了sudo这个指令,作用是请求su的权限来进行操作。
注意:cp是复制copy的指令,第一个参数为源文件,第二个参数为目标文件,当第二个参数不存在时自动创建。当第二个参数本来就存在时,就会覆盖该文件。
所以我建议使用

1
sudo cp -i /etc/apt/sources.list sources_backup.list

如果有覆盖,则会提醒用户。

Read More
⬆︎TOP