Binary
tiny_easy Writeup[pwnable.kr]

0x00 tiny_easy

这个文件用sftp传下来看了一下,文件很小只有4k,代码也很少,直接执行则会报错。

python中Random的坑

0x00 前景提要

在搬砖过程中遇到一个巨坑,有一个python模块实现了一个本地监听多个端口的功能,为了防止监听端口冲突端口使用了python中的random模块中的randint函数来实现随机端口的生成。然而两次调用后却发现一直报error: [Errno 98] Address already in use,明显就是端口被占用。这个就比较奇怪了,因为该模块一次监听5个端口。怎么可能5个端口都会有冲突。

unexploitable Writeup[pwnable.kr]

0x00 unexploitable

看看源代码,很简单的程序

#include <stdio.h>
void main(){
// no brute forcing
sleep(3);
// exploit me
int buf[4];
read(0, buf, 1295);
}

第一反应是用return to dl reslove,但是仔细一看没法做内存泄漏。因为64位需要把debug位置0,但是无法得到link_map的地址,所以这条路走不通。只能在题目给出的syscall上做文章。

unlink Writeup[pwnable.kr]

unlink是堆溢出的常用思路,free一个堆时。有可能会调用unlink函数来拆卸freelist上堆块完成堆块的合并。如果能控制堆的控制区就有可能造成DWSHOOT(有限的任意地址写入)。

uaf Writeup[pwnable.kr]

0x00 UAF

UAF(Use After Free)释放后重用,其实是一种指针未置空造成的漏洞。在操作系统中,为了加快程序运行速度,如果释放一块n字节大小的内存空间,当申请一块同样大小的内存空间时,会将刚刚释放的内存空间重新分配。如果指向这块内存空间的指针没有置空,会造成一系列的问题。

一些pwn题目的解题思路[pwnable.kr] II

目录

以下是solution的目录

Other

一些pwn题目的解题思路[pwnable.kr]

一些pwn题目的解题思路[pwnable.kr]

目录

以下是solution的目录

Other

一些pwn题目的解题思路[pwnable.kr] II

Windows x64上的x86重定向

0x00 背景

搬砖过程中遇到一个很奇怪的现象。写了一个程序利用命令regedit来读取注册表的某项值,出现了一个奇怪的现象:在某些电脑上能读到值,在另一些电脑上无法读取。

Django运行时报错

年前为了偷懒,做了一个自动化的web程序,用Django写的。春节放假回来发现竟然跑不起来了。
报如下错误:

TypeError: view must be a callable or a list/tuple in the case of include()

顺手搜了一下,原来是手贱给Django升级了,最新版本的不支持原来的urls的写法了。

一种绕过TACACS+的思路

最近对一些交换机做口令猜测检查的时候遇到一个奇怪的现象:配置AAA认证的交换机总能扫出一些弱口令,而且每次都不一样还都不能登录,更神奇的是返回的session确实能执行命令。