kali换源
kali换源官方源deb http://http.kali.org/kali kali-rolling main non-free contribdeb-src http://http.kali.org/kali kali-rolling main non-free contrib中科大源deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribdeb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib阿里云源deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib清华大学源deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling ma ...
kali安装ropr
kali安装ropr前言在做NKCTF的题的时候,刚开始不知道为什么一直找不到gadget,就想到安装ropr来找,因为种种原因安装不成功,后来发现ROPgadget是可以用的,emmmm就很烦
关于ROPRROPR是一款速度极快且功能强大的ROPGadget查找工具,该工具支持多线程运行,可以帮助广大研究人员快速寻找和定位目标ROPGadget。
ROP(Return OrientedProgramming),即返回导向编程,而ROPGadget是一些包含汇编指令的代码段,通常以ret指令结尾,这些指令已经作为可执行代码存在于每个源码文件或代码库中,而这些小工具可用于二进制攻击,并破坏易受攻击的可执行文件。
当许多ROPGadget的地址写入缓冲区时,就形成了ROP链。如果攻击者可以将堆栈指针移动到此ROP链中,则控制权将会完全转移给攻击者。
大多数可执行文件包含足够的小工具来编写ROP链一旦我们知道了地址,就可以使用包含在同一地址空间(如libc)中的动态库。
而使用ROPGadget的好处在于,无需在任何地方编写新的可执行代码,攻击者可以仅使用程序中已经存在的代码来实现其目标。
...
kali安装pwndbg
kali安装pwndbg
根据网上的通用教程来实现
123git clone https://github.com/pwndbg/pwndbgcd pwndbgsudo ./setup.sh
发现下载不了,可能是因为是github上面的项目,被伟大的墙给屏蔽了
于是我直接去github下载平pwndbg的压缩包,直接甩进虚拟机。
然后执行setup.sh就可以了
如果没有装过其他插件的话应该就直接可以用了,shell中输入gdb能够看到pwndbg>,如果装过其他的插件,要修改一下配置文件,默认在home中:
1sudo vim ./.gdbinit
看一下有没有这一行
source /home/yourname/pwndbg/gdbinit.py(这里填pwndbg的路径就可以了) 没有的话加上,把其他的注释掉,保存启动GDB,完活。
kali安装peda
kali安装peda12git clone https://github.com/longld/peda.git ~/pedaecho "source ~/peda/peda.py" >> ~/.gdbinit
kali2020安装pwntools
kali2020安装pwntools
Kali 2020可直接安装 pwntools(基于 python3),不会报错,但是要注意,python3 对字符串和字节数组的处理,在使用 pwntools 的时候可能需要额外进行编码和解码工作。
pip3 install pwntools -i https://pypi.mirrors.ustc.edu.cn/simple————————————————版权声明:本文为CSDN博主「江下枫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/song_lee/article/details/107286686
ISCC比赛复盘
ISCC比赛复盘ISCC分为理论题和CTF题还有内网环境的AWD环境
CTF首先是CTF,因为这次CTF是将web和pwn单独摘到AWD里面去了,所以只有安卓,逆向,杂向,密码这几个方向,这让我深刻体会到了全方面发展的重要性,有时候不能只会一个方向
比如学pwn的,对于逆向也得有一定的了解,无论是WINDOWS逆向还是安卓逆向,对于学pwn的人来说,逆向的入门还是没有那么难的,起码在比赛的压力下,学了半天安卓还是有一定突破
AWD对于这次的AWD,其实我个人是比较难受的,因为off_by_one学过一点点,但是没有仔细去研究过,所以对于这个题做了很久,大概有三个多小时左右,其他大哥对于这个题出的比较快,基本上就是卡到了内网的流量转发去了,我提前有过相关的准备,导致我在这个题打出来后,不到半个小时就能实现打全网了,所以最后和大哥们进度差不多
内网流量转发socat和ncat实现socat tcp-l:888,reuseaddr,fork TCP:目标:目标端口
nc --sh-exec "nc 127.0.0.1 1000" -l 888 --keep-open
nc ...
ISCC数据思维赛
ISCC数据思维赛前言任务说明本赛题需要参赛队伍根据给出的训练数据,包含86178条具有数据包标识符、网络协议类型、网络服务类型等信息训练一个判别物联网设备网络行为的模型,使用模型判别测试集中的数据属于哪种行为(共12类)。
数据说明该数据集中每行都有数据包标识符、网络协议类型、网络服务类型等信息。
训练数据集含有86178条有关物联网设备的网络信息。
测试数据集含有36939条有关物联网设备的网络信息。
数据字段说明:
1.[训练集]包含流量特征与标签信息:train_data.csv
2.[测试集]包含流量特征信息:test_data.csv
提交要求提交csv文件,使用UTF-8编码格式,提交的字段格式样例如下,csv 文件应包含两列:id 和 Attack_type,该文件应包含标头,并具有以下格式:
id
Attack_type
1
DOS_SYN_Hping
2
NMAP_OS_DETECTION
3
ARP_poisioning
etc.
代码说明就是需要实现一个大模型分类的代码
1234567891011121314151617181920 ...
ISCC-regis复现
ISCC-regis复现register
可以改got表
存在off_by_one漏洞
存在结构体
1234struct { int size; char * heapaddr; }user;
尝试修改heapaddr的值,便可以实现任意地址写
通过那个off-by-one漏洞来将一个块给扩大到那个0x20的那个大小,便可以构造堆重叠,然后edit那个chunk即可edit那个0x20的chunk,于是可以达到任意写的功能,将free_hook改为system即可,
exp如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243# --------------------------exploit--------------------------def exploit(): li('exploit...') for i in range(0,2): add(0x10,"1") ...
IO_FILE调试
IO_FILE做题流程前言在调试IO_FILE类型的题的时候总结的知识点
关于IO_FILE的libc更换在调试IO类型的题的时候,在之前我们需要换libc,因为一般题目给的libc都是没有符号表的,于是我们寻找一个与之对应的有符号表的libc即可,最好是一样的

没有一模一样的带符号的libc的,相同版本号的也可以
IO_FILE结构体查看有时候我们在分析IO的时候有对应的结构体可以看是最好的,这样我们就能明确知道我们改了哪些数据,这也是我们为什么要换libc的原因
自带的符号表变量如果是libc里面本身就有的符号,下面的命令可以直接打印出结构
1p [*_IO_list_all]
可以看到输出结果如下
 ...



