test_your_nc 1(含前提简要)(与靶机连接)
本文最后更新于 8 天前,其中的信息可能已经有所发展或是发生改变。

题目

先启动靶机

方法一:

常规测试

直接在虚拟机nc与靶机进行连接

这道题连接后可能会没有显示东西出来,输入ls查看里面有啥文件(ls:列出当前地址/当前目录下的文件与子目录)

这里我们看到有flag文件

输入cat flag即可找到flag,返回题目输入答案并提交即可(cat:查看文件内容)

方法二:

脚本(exp)——题目常规做法

先把文件拖入虚拟机,用checksec命令查看该文件信息

我们用AI进行分析

  • Arch: amd64 – 64 – little:表示该文件的架构是 64 位小端序的 AMD64 架构 。
  • RELRO: Partial RELRO:RELRO(Relocation Read – Only)是一种针对共享库重定位表的保护机制。Partial RELRO 意味着部分重定位表在程序加载后变为只读,能防范一些通过修改全局偏移表(GOT)进行的攻击,但防护程度不如 Full RELRO 。
  • Stack: No canary found:Stack Canary 是一种栈保护机制,向栈中插入随机值(canary 值),函数返回时检查其是否被修改来判断栈是否遭受缓冲区溢出攻击。这里表示该文件未启用 Stack Canary 保护 。
  • NX: NX enabled:NX(No – eXecute)即不可执行,使栈、堆等内存区域不可执行,阻止攻击者在这些区域植入并执行恶意代码,这里已启用 。
  • PIE: PIE enabled:PIE(Position – Independent Executable)即地址无关可执行文件,让程序每次加载地址随机化,增加攻击者利用固定地址进行攻击的难度,这里已启用 。
  • Stripped: No :表示该文件没有被 strip(去除符号表等调试信息),保留了符号表等信息,便于调试和分析。

后我们把文件拖入IDA(64位)进行查看(IDA自行网上搜索下载安装)

拖入后,弹出来的提示一直按确定即可(其他也基本一致,后不赘述)

然后我们就来到这样的位置

先找到左边的main函数,双击进入

先显示出的是汇编代码,我们按F5转换为伪代码C语言,便于我们查看(转换成C语言后,可以按Tab键回到汇编代码)

直接给出system(“/bin/sh”);

权限就直接给你了,因此我们啥也不用操作,直接与其进行连接即可

先用vim命令创建一个新文件夹(vim后面的文件名自己喜欢起啥就起啥,这里用题目名字来起)

(vim:打开文件,若没有该文件就创建一个新文件并用输入名字作为文件名)

进入文件后,按i/a进入编辑模式,然后输入以下代码

(这里每行开头的”r”可用其他字母代替,比如第二和第三行代码的第一个r,跟在其后面的代码就不能改,但是,得前后保持一致(就是一改都要改),否则会出错)

完毕,按左上角的Esc退出编辑模式,后按:wq,保存并退出文件

(:wq,保存并退出,:q,不保存并退出,若有无法退出的情况,在后面加个!即可。eg:”:wq!”)

(注:若有错误,可直接:q退出再进入一次即可,不用自己慢慢删)

代码如下

#导入pwntools模块:
from pwn import *

#和靶机进行连接:
r = remote("ip",端口)

#获取靶机交互式终端:
r.interactive()

IP和端口按实际输入

给权限

运行该脚本

然后ls(后面步骤与方法一,一致,不再赘述)

感谢阅读!如果你觉得这篇文章对你有帮助,欢迎扫码赞赏支持,你的鼓励是我持续创作的动力 ❤️

本文为原创内容,转载请注明出处。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇