IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> W-L学习打卡(7.8) -> 正文阅读

[系统运维]W-L学习打卡(7.8)

突然发现好快就要去W-7城市,时间已经不多了,想好好躺几天,不过每天睡到十二点是大可不行了,老睡这么晚感觉把握不住时间了,明天开始十点半 十点 慢慢调整回九点,话不多说,写list了。--7.8

7.8 To do list:

1.Pwn笔记大杂烩出场

2.Cpp看完第七章

3.快速排序复现

4.每日锻炼

一:Pwn笔记大杂烩

事实上写的不是很好,但重要的是过程,把全部笔记理了一下。

先分为几大块

1.pwntools函数

2.pwndbg pwntools插件使用

3.ret2text ret2shellcode ret2libc(cannary参考第七节笔记)

4.汇编函数知识

5.SUNDRY

1.pwntools函数

1.1

参数: -d 反汇编

-M intel(架构)

objdump -d -M intel xxxx

1.2

gcc -no-pie -fno-stack-protector -z execstack -m32 -o read read.c

PIE CANNARY NX 架构 目标 源

1.3

remote("域名或ip地址","端口号")

1.4

objdump

1.5

shellcode.ljust(112,'P')

112个字节在原本Shellcode上不够的填充P

1.6

这条语句系统会帮忙编写shellcode

shellcode = asm(shellcraft.sh())

根据你的context(arch="i386 or amd64" , os = "linux")

1.7

p.recvuntil(": ") #当交互出现": "后发送payload

1.8

vmmap

在一个地方设置断点,然后输入这条指令可以查看不同内存区域的权限

1.9

ROPgadget

这两条常用指令

ROPgadget --binary ./xxx --only "pop|ret" | grep "eax"

指令 寄存器

ROPgadget --binary ./xxx --string "/bin/sh"

要找的字符

1.10

ldd查看动态库依赖关系

1.11

pwntools入门文献

https://note.youdao.com/s/RVkPsHhJ

2.pwndbg peda插件使用

参考文献:https://blog.csdn.net/Breeze_CAT/article/details/103789233

3. ret2text ret2shellcode ret2libc

3.1 ret2text

最基本的状况,有system函数,直接覆盖返回到system

3.2 ret2shellcode

没有NX保护的前提下,将自己写的shellcode覆盖到段上,段要有执行权限,然后返回到该段执行system

32位shellcode 参考笔记:https://note.youdao.com/s/43LWuLha

手写32位笔记:https://note.youdao.com/s/3354T450

64位shellcode 参考笔记:https://note.youdao.com/s/ZaBj03c

手写64位笔记:https://note.youdao.com/s/Gt0XVuZv

3.2 ret2libc

关于plt和got表参考笔记:https://note.youdao.com/s/LpGDrPzu

4.汇编 python 等函数知识

4.1

enter等价于:

push ebp

mov ebp,esp //开启栈帧

这里代表入口函数

leave等价于:

mov esp,ebp //恢复栈帧

pop ebp

释放栈帧

ebp为原esp地址

esp恢复为ebp相当于跳回原地址

4.2 call一个函数时,栈的情况

call就是

一个push(原函数地址,也就是ret返回的地址)

一个jmp

4.3

and esp 0xFFFFFFF0

内存对齐

主流编译器的编译规则规定 “ 程序访问的地址必须向16字节对齐(被16整除)” 内存对齐之后可以提高访问效率。

4.4

一般用于跳转,标志位会改变

i r查看标志位

用计算器转换成二进制查勘表标志位

参考文献:https://blog.csdn.net/u012763794/article/details/60955530

4.3

python字符窜截取

#gets_addr = u64(p.recv()[:8])

#gets_addr = u64(p.recv(8))

5.SUNDRY

tip1:

在DOS汇编下,不配对的push和pop会导致错误的返回地址,程序会挂掉。

但在win32汇编下,push和pop就没有事,就算逻辑上产生错误,程序也能正常返回,因为是靠leave指令,从ebp把原始值取出,也就是把esp改的一塌糊涂也没关系,但要是改了ebp程序也就崩溃了。

tip2:

AND

手写shellcode细节:https://note.youdao.com/s/Gf6dOYPP

关于libc版本切换,libcSeacher,libc手动查询,等开学问下学长(希望问的到)

关于手写/bin/sh,值得复习:https://note.youdao.com/s/1XP9QIRH

二:Cpp

看完了第七章,goto语句坚持不用,我以为要教我如何使用goto语句,然而在极少情况下要使用。

三:算法导论

快速排序真的嗯(有篇文章写的好所以理解的快)。

四:每日锻炼

今天练了两次,说实话锻炼了感觉消化功能都好了点。

事实证明,今天量其实不多,只要状态好连续做,还是挺快能完成的,现在头莫名都会点晕,还要还要早起,所以今天正好早点睡,加油早点睡。night.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-09 17:42:56  更:2021-07-09 17:42:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:38:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计