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插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
随机推荐
- php 如何进入mysql数据库
我是初学者,有两台电脑,进入数据库通用的方法直接找mysql.exe,如下例: F:\Program Files\wamp\bin\mysql\mysql5.5.20\bin
- git安装步骤
Git简单使用说明 安装git msysgit是Windows版的Git,从https://git-for-windows.github.io下载,然后按默认选项安装即可(注:安装适合自己电脑版本的g ...
- webconfig和appconfig中出现特殊字符如何处理
在配置文件出现特殊字符&的字符串(如:abce&efg),就会报错.错误如下: 如何处理呢? config文件的本质是xml,所以必须符合xml的规范我们需要这么处理: abce&am ...
- 这是我定位的Bug
https://github.com/danielgindi/ios-charts/issues/406
- django上传下载大文件
上传 def upFile(file): upload_dir = '/tmp/upload/%s' % username if request.method == 'POST': upload_fi ...
- 修改RMAN list命令输出的时间格式
根据需要,修改rman list命令输出结果的时间显示 $ rman target / Recovery Manager: Release - Production on Wed Jul :: Cop ...
- Leetcode: Guess Number Higher or Lower II
e are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess ...
- 最长上升子序列的变形(N*log(N))hdu5256
序列变换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- [原创]java WEB学习笔记63:Struts2学习之路--表单标签 用户注册模块
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- UML: 活动图
摘自http://www.umlonline.org/school/thread-36-1-1.html 活动图和流程图很类似,我们看看一个流程图的例子: 活动图是用来描述流程的一种图,它与流程图的不 ...