首页
社区
课程
招聘
[已解决]pwntools使用gdb.attach(pid)后,按ni就直接退出了。
发表于: 2021-8-3 06:10 8639

[已解决]pwntools使用gdb.attach(pid)后,按ni就直接退出了。

2021-8-3 06:10
8639

Waiting for debugger时就检测不到debugger。然后fin或者ni直接退出。

 

流程

1
2
3
4
1.程序执行-提示输入
2.$ gdb attach pid
  # waiting for debugger , 新窗口中自动打开gdb
3.gdb$ ni   # 这里卡住

Ctrl+C中断后如下,研究中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Traceback (most recent call last):
  File "/home/kali/vmware/pwn1/a2.py", line 3, in <module>
    gdb.attach(p)
  File "/home/kali/.local/lib/python3.9/site-packages/pwnlib/context/__init__.py", line 1524, in setter
    return function(*a, **kw)
  File "/home/kali/.local/lib/python3.9/site-packages/pwnlib/gdb.py", line 1050, in attach
    proc.wait_for_debugger(pid, gdb_pid)
  File "/home/kali/.local/lib/python3.9/site-packages/pwnlib/util/proc.py", line 338, in wait_for_debugger
    debugger = psutil.Process(debugger_pid)
  File "/usr/local/lib/python3.9/dist-packages/psutil/__init__.py", line 326, in __init__
    self._init(pid)
  File "/usr/local/lib/python3.9/dist-packages/psutil/__init__.py", line 354, in _init
    self.create_time()
  File "/usr/local/lib/python3.9/dist-packages/psutil/__init__.py", line 710, in create_time
    self._create_time = self._proc.create_time()
  File "/usr/local/lib/python3.9/dist-packages/psutil/_pslinux.py", line 1576, in wrapper
    return fun(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/psutil/_pslinux.py", line 1788, in create_time
    ctime = float(self._parse_stat_file()['create_time'])
  File "/usr/local/lib/python3.9/dist-packages/psutil/_pslinux.py", line 1576, in wrapper
    return fun(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/psutil/_common.py", line 450, in wrapper
    return fun(self)
  File "/usr/local/lib/python3.9/dist-packages/psutil/_pslinux.py", line 1619, in _parse_stat_file
    data = f.read()

 

脚本执行attach 失败

1
2
3
4
from pwn import *
p=process('./ret2shellcode')
gdb.attach(p)
# 如图, 没断在程序中, fin直接退出了, 按ni没回显

无脚本 attach成功

1
2
3
4
5
6
# ./level1 提示输入, 新建窗口找到pid
gdb
attach pid
# 回程序输入字符
ni
# 成功断在下一步

gdb file成功

1
2
3
4
5
6
gdb
file level1
b main
r
ni
# 正常启动

直接gdb运行再attach pid也不可以。但是要手动、麻烦。

 

安装过程。
1.新安装系统
2.安装pwntools
3.安装pwndbg
4.脚本调试

 

尝试了
kali版本. 2020.1,2020.2,2020.3,,2020.4,2021.1, 2021.2都不行。
Ubuntu_mini(70M)在线安装的版本。不正常。
Uubuntu20桌面环境下正常。

 

有没有pwndbg都有这问题。

 

![]


 

已解决。某师傅告诉我包的版本问题

1
2
3
4
5
6
7
8
sudo pip install setuptools==44.0
sudo pip install MarkupSafe==0.9.2
sudo pip install cryptography==2.5
sudo pip install configparser==3.5
sudo pip install zipp==0.5
sudo pip install importlib-metadata==0.12
sudo pip install importlib-resources==1.0
sudo pip install pwntools==4

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-8-4 01:09 被whale编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 11256
活跃值: (499)
能力值: ( LV3,RANK:21 )
在线值:
发帖
回帖
粉丝
2
试试一直 si 步入,或者断点加地址:gdb.attach(p,"b*0x123456") 
2021-8-3 14:43
1
雪    币: 6309
活跃值: (3741)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3

si, ni都没回显的。。步入不了。。

最后于 2021-8-3 20:23 被whale编辑 ,原因:
2021-8-3 20:22
0
游客
登录 | 注册 方可回帖
返回
//