君莫笑系列视频学习(1)
今天看四个视频好了,全部看完有点难。。。
pwn入门系列0,1,2和逆向基础速成
pwn入门系列-1-pwn基础知识
https://www.bilibili.com/video/av14821631/?spm_id_from=333.788.videocard.2
第一讲,开!
Linux环境下常见漏洞利用技术是君莫笑的资料,之前下载资料太多。。已经乱了
ida里面查看地址
1.在view里面找到对应的,然后空格键过去
2.Options-General-Line perfixes
ida的伪码里面有些变量定义是ida自己的,所以引入defs.h就可以编译运行了
shift+F12 查找字符串
以后讲p64打包的时候,可以这样演示一下,enhex的意思应该是以十六进制表示(第一个结果不用管)
context.binary设置上下文,在当前的环境下,设置一些常见的变量。
例如,是32位的程序,就可以设置当前的上下文为32位
主要用在asm功能
shell就是可以进行远程命令交互
一般context.binary=一个路径,就可以自动设置
context. log level= ' debug'
设置好后,以十六进制显示每次交互信息(因为有些字符不可见)
send就是发送一些数据
sendline就是发送完数据后还跟着一个换行符
recv就是受到一些数据
recvuntil就是一直接收数据知道受到括号后面的数据
asm可以把一段汇编代码编译成一段机器语言
disasm可以反汇编
先转成了机器语言,又转回了汇编语言
使用前要安装:Binutils
ELF是pwntools提供的一个模块,你存进去一个路径,可以生成一个ELF对象,对象可以方便的查看他的一些信息
cyclic在命令行里就可以用,生成100个字符,是32位的,生成的字符中,任意找一个都是独一无二的
这样拿它来覆盖的时候,报错,即可找到从哪一位开始覆盖这个返回地址
如果要在64的话,需要-context指定成64位的
pwn template可以生成一个exp的模板
if那块就是如果带了参数I,就启用debug模式,以此类推。。。。
步入是汇编步入
源码单步是C语言等步入
x/20wx 0x4005fe(x/查看的数量 方式 地址)
b一个字节一个
w四个字节一个
g八个字节一个
x指代十六进制
hexdump也可以查看内存,后面有可以见字符串
如果(0xe80040084abfffff)还是一个值,它可以自动兼用
rop帮助我们利用程序的一段代码
一小段程序中已经存在的汇编代码
一般需要程序静态链接(statically linked),才直接生成rop链
ROPgadget --binary pwn2 --ropchain
自动生成一连串的链
自动生成后,只要把返回地址,覆盖到第一个地址(0x0806ed0a),它就可以直接获取到shell
查看本地文件的库版本:ldd 文件名
查看服务器上的库版本:libcdb.com或者Libc-database
可以查看程序的各个表,有偏移地址,有符号名
第1讲done!
君莫笑系列视频学习(1)相关推荐
- 君莫笑系列视频学习(5)(终)
这次视频讲解的是通过jmp esp布置跳到shellcode执行 pwn_by_example_7_b0verfl0w (jmp esp):https://www.bilibili.com/video ...
- mysql入门很简单系列视频-学习笔记
mysql入门很简单系列视频-学习笔记 视频链接:mysql入门很简单系列视频 https://www.bilibili.com/video/av14920200/ 以前主要就了解DDL.DML.DC ...
- Android Performance Patterns 系列视频学习记录(持续更新中)
系列文章旨在记录YouTube上谷歌发布的Android Performance Patterns系列视频,一共79个视频,每个视频也就几分钟.当然对于大部分安卓开发者来说,这些都是基础,可能你会说, ...
- 奋斗吧,程序员——第五十四章 坐拥美人君莫笑,古来征战几人回
排除了诸多问题后,最终的不良率大概在千分之二左右,已经在行业惯例的千分之三以内. 但是Sharp要求千分之一,我将剩下的坏料逐个分析,最终又找到一个rom的问题,在成测里加上rom检测应该可以进一步提 ...
- Android音视频学习系列(五) — 掌握音频基础知识并使用AudioTrack、OpenSL ES渲染PCM数据
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- android 键编译,Android 音视频学习系列 (四) 一键编译 32/64 位 FFmpeg 4.2.2
前言 2020/5/20 增加了硬件解码编译脚本 编译环境 Centos + NDK20b + FFmpeg4.2.2 + Android-21/16 2020/4/26 更新了编译 64 位脚本 编 ...
- Android音视频学习系列(七) — 从0~1开发一款Android端播放器(支持多协议网络拉流本地文件)
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- Android音视频学习系列(八) — 基于Nginx搭建(rtmp、http)直播服务器
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- Android音视频学习系列(九) — Android端实现rtmp推流
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- Android音视频学习系列(六) — 掌握视频基础知识并使用OpenGL ES 2.0渲染YUV数据
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
最新文章
- flux java_FluxJava 新增 RxJava2 的支援功能
- Nginx之rewrite使用
- 锦欣生殖获战略投资,华平、信银领投,红杉、药明康德跟投
- 计算机网络(二)-性能指标
- mysql 大量列 动态变量_aardio动态mysql变量设置
- Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)...
- Python办公自动化|光速对比并提取两份Word/Excel中的不同元素
- Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)
- 多任务学习Multi-Task Learning
- windows黑窗命令
- python能做什么软件?Python到底能干嘛,一文看懂
- java什么是继承_JAVA中什么是继承?
- Word 软回车和硬回车
- 码云推送代码后不显示贡献度
- linux环境下,geopandas 安装报错,显示Proj executable not found. Please set PROJ_DIR variable
- 利用ArcSoftFace做人脸识别-屏幕卫士 保护你的屏幕不被别人偷窥
- git pull 技巧
- echarts 仪表盘图展示百分比
- c语言中signal函数详细说明--举例
- Android手机实时视频监控
热门文章
- Canvas(画布)的使用
- Nmap下载和简单应用
- 网络安全与网站安全及计算机安全:如何下载到Windows各版本的Nmap网络扫描神器
- 边沿触发是什么意思_epoll 水平触发 边沿触发
- bzoj 3772 :精神污染 线段树+打标记 or 主席树
- 苹果电脑上不错的五款视频调色应用
- 解决ios微信端video全屏
- Self-Attention with Relative Position Representations(2018)
- 阿里P9大牛徒手编写的这份十亿级并发手册,教你彻底玩懂高并发,赶紧收藏
- 计算机视频的压缩方式,电脑压缩视频的方法图解步骤