实训day3

任务一:安装xray

  • 一、xray安装步骤

  1. 从官网下载安装xray,并进入cmd界面
  1. 打开xray所在目录,双击ca.crt,安装证书

3.点击安装证书

4.选择本地计算机

5.选择将所有证书都放入下列中存储,点击浏览,选择受信任的根证书颁发机构

6.证书安装完成

二、主动扫描

1.输入代码运行xray

xray_windows_amd64.exe webscan --basic-crawler http://127.0.0.1/pikaqiu --html-output xray-crawler-testphp.html

webscan是Xray工具的一个子命令或模式,指定了要进行的是Web扫描。

--html-output表示输出格式为HTML,xray-crawler-testphp.html是输出文件的名称。扫描完成后结果将以HTML格式保存在当前目录下的xray-crawler-testphp.html文件中,便于后续查看和分析。

2.点击生成的html文件查看漏洞扫描结果

三、被动扫描

1.foxfire下载插件FoxyProxy设置代理127.0.0.1:8989,就可以自动分析代理流量并扫描

2.输入命令.\xray_windows_amd64.exe webscan --listen 127.0.0.1:8989--html-output proxy.html,开始监听

3.在xray目录下查看漏洞报告

任务二:安装goby(实现对皮卡丘靶场的扫描)

一、安装goby

1.安装goby.exe,在官网https://gobies.org/#dl下载。注:由于先尝试安装goby的最新版本2-9-6时遇到了问题,运行goby.exe很容易卡死在进入页面,经过查找网上资料我发现也有别的用户在下载较新版本的goby时也遇到同样的问题,所以最后我安装的是较早的版本goby-win-x64-1.9.325,可以成功打开。

2.注册goby账户,登入网页版goby后,刷新获取自己的api秘钥,使用用户名(邮箱)和key在下载的goby.exe登录

  • pikaqiu靶场扫描

1.添加扫描项目

2.点击start开始扫描,查看结果

任务三:实现xray和burpsuite联动扫描

一、联动扫描

1.打开burpsuite,在setting中搜索upstream,添加代理服务器:127.0.0.1:8989进行抓包

2.使用火狐浏览器进入pikaqiu

3.使用xray命令监听端口

4.在burpsuite上抓包

二、流量走向描述

1.请求发起与拦截

用户请求发起:用户通过浏览器发起HTTP/HTTPS请求,这些请求首先被配置为通过代理服务器BurpSuite发送。

BurpSuite作为初级代理拦截请求:BurpSuite作为初级代理服务器,拦截用户通过浏览器发出的所有HTTP/HTTPS请求。BurpSuite允许用户查看、修改或丢弃这些请求,同时可以选择是否将特定的请求转发给Xray进行进一步扫描。

2.请求转发至Xray

配置上游代理:在BurpSuite中,用户需要设置顶级代理服务器,其地址和端口设置为Xray的监听地址和端口。这样,BurpSuite就能够将选定的请求转发给Xray。

Xray接收请求:Xray监听指定的端口(如127.0.0.1:8989),并接收来自BurpSuite转发的请求。这些请求随后被Xray进行自动化的Web漏洞扫描。

3.Xray处理请求与响应

自动化扫描:Xray接收到请求后,会利用内置的漏洞检测算法和插件对请求进行深度分析,尝试发现潜在的Web漏洞,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞等。

响应处理:目标服务器处理完请求后,将响应返回给Xray。Xray可以分析响应内容,进一步确认是否存在漏洞,并将分析结果返回给BurpSuite或直接通过BurpSuite返回给浏览器(取决于配置)。

4.响应返回给用户

BurpSuite转发响应:BurpSuite接收来自Xray或目标服务器的响应,并根据配置决定是否对其进行修改,然后将响应转发给浏览器。

用户查看响应:用户在浏览器中查看最终的响应内容,同时也可以在BurpSuite中查看和分析Xray的扫描结果,以进一步了解目标Web应用程序的安全状况。

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的C语言万年历的实训报告,供您参考: 一、实训目的 本次实训的主要目的是通过编写一个简单的C语言万年历程序,巩固C语言基本语法和编程思想,提高编程能力和解决问题的能力。 二、实训要求 1、能够使用C语言基本语法和控制语句编写程序。 2、能够使用数组来存储和操作数据。 3、能够使用函数来实现模块化编程。 4、能够使用指针来操作内存中的数据。 5、能够使用文件来读取和写入数据。 三、实训内容 1、程序功能 本程序实现了一个简单的万年历功能,可以通过输入年份和月份来显示该月的日历。 2、程序实现 以下是本程序的主要代码实现: ```c #include <stdio.h> // 判断是否为闰年 int is_leap_year(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; } else { return 0; } } // 获取某个月份的总天数 int get_days(int year, int month) { int days[] = {31, 28 + is_leap_year(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return days[month - 1]; } // 获取某个日期是星期几 int get_weekday(int year, int month, int day) { if (month == 1 || month == 2) { year--; month += 12; } int c = year / 100; int y = year % 100; int w = y + y / 4 + c / 4 - 2 * c + 26 * (month + 1) / 10 + day - 1; w = (w % 7 + 7) % 7; return w; } // 显示日历 void show_calendar(int year, int month) { int days = get_days(year, month); int weekday = get_weekday(year, month, 1); printf(" 日 一 二 三 四 五 六\n"); int i; for (i = 0; i < weekday; i++) { printf(" "); } for (i = 1; i <= days; i++) { printf("%2d ", i); if ((weekday + i) % 7 == 0) { printf("\n"); } } if ((weekday + days) % 7 != 0) { printf("\n"); } } int main() { int year, month; printf("请输入年份:"); scanf("%d", &year); printf("请输入月份:"); scanf("%d", &month); if (month < 1 || month > 12) { printf("月份输入错误!\n"); return 1; } printf(" %d年%d月\n", year, month); show_calendar(year, month); return 0; } ``` 四、实训总结 通过本次实训,我学会了如何使用C语言来编写一个简单的万年历程序,巩固了C语言基本语法和编程思想,加强了对函数、数组、指针、文件等概念和用法的理解,提高了编程能力和解决问题的能力。同时,我也意识到在编程过程中需要注重代码的规范、可读性和可维护性,这对于日后的开发工作非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值