linux-exp 工具+小技巧
# 工具篇 #
pwntools ,gdb-peda ROPgadget-tool 、 EDB
## pwntools获取、安装和文档帮助 ##
- pwntools: github可以搜索到 https://github.com/Gallopsled/pwntools
- 安装 pwntools 依赖: (最好先apt-get update下)`$ apt-get install python2.7 python2.7-dev python-pip `
- 安装pwntools `$ pip install pwntools` 可以参考 https://pwntools.readthedocs.io/en/latest/install.html
- 安装出错:我安装的时候出错了就这么弄的: 下载github 中的压缩包,解压,执行 `pip install -e .`
- 测试是否安装成功: python > from pwn import * 不报错就是ok了,可以试下命令 hex('abcd')
## gdb-peda 的获取、安装##
- github上搜索就可以找到 https://github.com/longld/peda
- 下载zip包,解压 执行 ` echo "source ~/peda/peda.py" >> ~/.gdbinit `
- 验证: gdb 随便调试个程序 会出现红色的 $gdb-peda:
## ROPgadget tools ##
- 安装 和 帮助文档 https://github.com/JonathanSalwan/ROPgadget
- 排错, 要先更新 `sudo pip install capstone` 2 `pip install ropgadget` 3 测试`ROPgadget -v `
## EDB debugger ##
- 在这里获取 https://github.com/eteran/edb-debugger
- 依赖 qt >= 4.6 : http://www.qt.io/download-open-source/ 下载离线安装包xx.run 下载后运行自动安装
- Boost >= 1.35 `apt-get install boost1.5 `
- Capston >= 3.0 `sudo pip install capstone` 更新下`sudo pip install capstone --upgrop`
- 以上折腾都不能正确安装 EDB;kali 上集成了直接kali吧
# gcc 编译选项 #
- 关闭栈溢出保护 `gcc -fno-stack-protector`
- 开启栈执行 `gcc -z execstack `
# linux系统安全特性 #
- 关闭alsr `echo 0 > /proc/sys/kernel/randomize_va_space'
- sysctl -w kernel.randomize_va_space=0
# linux 系统对调试的支持 #
- 开启 core dump `ulimit -c unlimited `
- 设置 core dump 的生成路经 `echo "/tmp/core.%t" > /proc/sys/kernel/core_pattern'
# 常用的测试 linux shellcode #
- 参考文件夹内
# 编写poc 小技巧 #
- 对于 read scanf 读取输入的这种编写exp,可利用 pwntools 和 zio 参看 pwntools模板
- 对于利用 argv这种命令行作为输入的可以利用这样 ` python -c "print('a'*96+'\x00\xa0\x04\x08'+'\n'+'134514147\n')" | ./passcode `
- r <<< $(python -c 'print "A"*256') # 排错 #
- -ldl 指示连接器连接一个库。这个库里包含了 dlopen, dlsym 等等的函数。也就是说,是支持“在运行时,显示加载使用动态连接库”的函数库。相关的头文件是 dlfcn.h
#其他#
- 将命令行转为TCP服务 socat TCP-LISTEN:5353,reuseaddr,fork EXEC:./app
linux-exp 工具+小技巧的更多相关文章
- Linux基础命令小技巧
总结 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise L ...
- everything搜索工具小技巧
everything工具平时用的也不多,但是有时候使用的时候却总是找不着北. everything支持五种搜索方式,如下图: 正则匹配搜索: 当你选择正则匹配之后,你可能需要匹配某个文件夹里面的某个文 ...
- 【持续更新中···】Linux下的小技巧
1.Linux回到上级文件的命令: cd ..回到上一级目录(注意:cd 和..中间有空格) cd ~回到home目录 cd -回到某一目录
- linux云主机小技巧
微信服务器安装 安装库 python 3.5环境下 pip安装web.py时 会报错 "no module named "utils" 等问题 更换命令为“pip ins ...
- linux服务器操作小技巧
python程序后台一直运行,并将打印信息输出到文件中 nohup -u test.py > out.txt & -u 表示无缓冲,直接将打印信息输出带文件中 &表示程序后台运行
- 【Linux】vim小技巧,如何批量添加或者删除注释
环境:centos vim或者vi都可以 例如文件如下: aaa bbb ccc ddd 有四行文件,想将前三行都添加注释 先查看行数: :set nu 可以这样做: :1,3s%^%#% 即可,如 ...
- linux 小技巧(磁盘空间搜索)
这里记录一些linux 管理中可能会用到的又容易忘的一些小技巧. linux磁盘写入失败,提示磁盘空间不足.一般都会用df -h 或者df -i看是不是磁盘空间不足或者是inode空间不足.发生这种情 ...
- Linux小技巧scp命令
Linux服务器运维小技巧scp命令详细教程. 前言 今天给大家带来的是linux中比较实用的命令scp.善用小技巧,解决工作中的痛点. 掌握一门好的技术或者说一门好的艺术,最快捷的方式就是融入到工作 ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
随机推荐
- ASP.NET HighStock
参考博客HighCharts/Highstock使用小结,使用汉化及中文帮助文档 参考博客highcharts与highstock实例
- 第七篇 Integration Services:中级工作流管理
本篇文章是Integration Services系列的第七篇,详细内容请参考原文. 简介在上一篇文章,我们创建了一个新的SSIS包,学习了SSIS中的脚本任务和优先约束,并检查包的MaxConcur ...
- mysql 模块使用
import MySQLdb conn = MySQLdb.connect(host=',db='fengjian') cur = conn.cursor() sql = 'insert into a ...
- 在CDialog::OnInitDialog设置DEFAULT-BUTTON的注意事项
如果你的Dialog是在资源编辑器里面创建的,那么你首先要去资源编辑器把对应的Button的Default Button选项设置为True 另外,如果你使用GotoDlgCtrl,那么记得OnInit ...
- mysql explain 命令讲解
explian命令可以显示select语句的执行计划 explain的结果中每行对应select语句中的一个表,输出结果中的顺序是按照语句处理表的顺序. mysql使用嵌套循环来处理所有的join连接 ...
- 如果类的属性是copy的NSString类型 用set方法拦截时
@property (nonatomic, copy) NSString *badgeValue; - (void)setBadgeValue:(NSString *)badgeValue { _ba ...
- PostgreSQL单机、同步复制、异步复制性能测试对比
测试环境: •测试机:PC •内存:8GB •CPU:Intel(R) Core(TM) i5-3450 3.10GHz •硬盘:HDD •数据量:20GB •测试工具:pgbench •Postgr ...
- ui方案设计
最近在做一个ui,前端,为了引出创意,万事开头难,记录一下: 算是单页吧,一般都是左侧是导航,右边是内容,单页的话,要记录标签关闭,窗口区域. 操作的连惯性等.UI设计是个细活,需要深加研究,以后补充 ...
- 解决 Xamarin 拖拽Plain Text 于Layout上时 出现 “The layout could not be loaded:java.lang.System.arraycopy([CI[CII)V” 错误
右键项目属性
- . ToString(),Convert.ToString(),(string),as比较:
http://www.cnblogs.com/chehaoj/archive/2010/02/23/1671955.html 通常 object 到 string 有四种方式(假设有object ob ...