安全参綉25暑假第一次作业

第一天

        1.首先讲了d0cker的部署,

        这个是第一个Vulhub漏洞环境。所有环境都使用D0cker容器化,使其易于部署和隔离测试。
        其中,国内的阿里用不了,你得搞个代理,下国外的:入门指南 | Vulhub
然后按这个步骤去做,不过你得看看有没有这个文件cd /etc/proxychains.conf,没有的话下这个:apt-get install proxychains ,然后编辑这个vim /etc/proxychains.conf,把最下面的改自己本地地址,端口改代理的,一般是7190,我的是7197;你可能首先要关物理主机的防火墙,不然不会走代理,,如果访问谷歌成功了,说明走了代理,然后第一个命令应该按这个输入:proxychains bash -c "curl -fsSL https://get.docker.com | sh"

        2.讲述了dns的解析过程,

        1️⃣首先我们输入域名时,浏览器会检查我们本地浏览器缓存中是否有该对应的IP地址,有的话就直接返回ip,2️⃣没有的话就会查询操作系统的DNS缓存,如果操作系统缓存有这个域名的解析结果,就直接返回,3️⃣如果操作系统缓存中没有,那么将会把该域名发给本地的DNS服务器,本地DNS服务器通常会缓存域名的解析结果。一般到此就结束了,要是还没有,4️⃣那么就会向根dns服务器发送dns请求,根dns服务器会返回一个顶级域名服务器的地址,然后本地就会向顶级dns服务器发送请求,顶级dns服务器返回该域名对应的地址。最后5️⃣Name Server查询:本地DNS服务器向Name Server发送请求,Name Server返回该域名对应的IP地址和TTL值,本地DNS服务器缓存该域名和IP地址的对应关系,并将结果返回给客户端。客户端根据TTL值将结果缓存到本地系统缓存中
        大概就是这样一个过程,然后域名服务器之间关系是这样的

        3.最后将了https为什么安全:

        这里涉及到一个对称加密的原理,它主要是通过SSL/TLS加密技术保护数据传输的隐私性和完整性。因为加密,所以防止数据在传输的过程中被窃取或篡改

第二天

         1.首先将了RSA的具体原理和实际应用

它使用了非对称加密算法,使用了两个密钥,一个公钥用于加密数据,一个私钥用于解密数据,然后这个安全性目前来说依然难以破解,主要因为它。。。过程有点绕,反正就是应用了欧拉函数,一个特别大的数不容易分解成两个互质的数,所以它的解密难度取决于计算机的算力
        大整数决定了RSA的破解难度,因为大整数需要因式分解,否则无法获得d。

        2.其次讲了debug的部署,在windos和linux下的部署

第三天

1.讲了入鋟的流程是怎样的,

        首先要信息收集,我们的目标是获取后台地址,有80%来自网页(收集子域名whois,第三方网站查询(搜索引擎,谷歌、第三方搜索引擎、fofa.info)),15%来自小程序,5%来自app
我们可以尝试的搜一些网站,像学校之类的,看看他们的网站有没有什么信息泄露,采集信息,在登录页面先进行弱口令尝试,然后密码喷洒,最后再爆破
        例如:利用好谷歌语法查找敏感信息


实际这里获得的学号还是少,但这个东西有规律,我们可以根据规律,拿AI生成一大堆学号


不过这里比较倒霉哈,他要验证码(实际这个学校大多数登录平台都有验证码)防范意识挺高,就不做掩饰了

2.小知识:

       · 密码喷洒:和暴力破解不同,一个账号用一个密码错误后就换一个账号,这样就避免了一个账号测试多个密码后ip被封
       · 某个账号在规定时间内错误次数太多,如1分钟内3-5次错误
       ·sS -ST 面试只问参数
半连接:sS 由于是半连接,较为隐蔽,流量较小,不容易被态势感知 全流量感知等工具发现 不记录日志,但是要root权限
全连接:会记录日志
一直ping:ping -t
死亡ping:ping大包

第四天

1.首先继续昨天的内容,介绍了只有一个登录界面怎么攻击:

        1️⃣查子域名;2️⃣如果没有验证码,用密码喷洒;3️⃣用弱口令;4️⃣.在js里找漏洞

2.其次讲了文件上传,文件包含实例(小程序渗透)

        这里环境什么的也是弄好了,也可以抓到小程序的包了

3.讲了反射型漏侗,还有实际打靶场

       反射型xss漏洞 :对用户的输入没做限制,所以用户可以输入恶意JS代码,最终被服务器解析,并且反射给用户

开始稀里糊涂,跟着回放也是打到第九关了

第一关:<img src=1 onerror=alert(1)>

        onfocus:焦点事件,用在input表单上

第二关:利用标签实体化,防御xss攻鸡

        三种编码:urlcode html实体编码 js的unicode编码
        1️⃣urlcode 英文数字一般不编码,例如:‘是%27
        2️⃣js的unicode编码:是以 \u 开头的;例如 \u0065=e
        然后这个题主要跳过value,要逃逸,
        第一种可以用用户参与,a"onclick="alert(1) 用户点击跳转  或者使用  a"onmouseover="alert(1)鼠标划过跳转
        第二种用户不参与的就要求把input标签闭合 a"><script>alert(1)</script>
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="a
"><script>alrt(1)</script>">    //最后剩下这个 "> 不用管,他会自己纠错,如果你加一个//把他注释掉也可以
<input type=submit name=submit value="搜索"/>

第三关.htmlspecialchars($str).

        .htmlspecialchars($str) 是 PHP 中的一个函数,用于将字符串中的特殊字符转换为 HTML 实体(HTML entities)。这是防范 XSS(跨站脚本攻击)的重要手段之一,通过将潜在的恶意代码转换为无害的文本显示,确保用户输入不会被浏览器解析为执行代码。
        而他和第二关不同的是他这个地方也有过滤
        可以将这些字符转化为实体
&  转换为 &amp
<  转换为 &lt
>  转换为 &gt
"  转换为 &quot 除非设置了ENT_NOQUOTES
'  转换为
&#039 设置了ENT_QUOTES后,&#039;(如果是ENT_HTML401),或者 sapos;(如果是 ENT_XML1、ENT_XHTML 或ENT_HTML5)。
答案:a' onclick='alert(1)

 

第四关:过滤了<>

        $str = $_GET["keyword"];
        $str2=str_replace(">","",$str);
        $str3=str_replace("<","",$str2);
                过滤了 < >
                所以答案:a" onclick="alert(1)

第五关 没过滤href

$str = strtolower($_GET["keyword"]);    表示把keyword全部转化为小写
第五关还是过滤,只是过滤了<script>和on,所以我们不用这两个
答案:a"><a href="javascript:alert(1)">aaaaaaa</a>

第六关 html大写绕过

虽然他过滤了好多词,但是html不区分大小写,所以我们可以使用大写的来绕过,不过javascript代码就会区分大小写

第七关 替换过滤只能替换一次

这个看似大小写和关键词都过滤了,但这是替换过滤,现在见不到了,因为他只能替换一次,比如 ononclick 替换后就成了 onclick
所以答案为:a"oonnclick="alert(1)

看他后端代码叫白盒审计,看前端代码叫黑盒审计:
审计人员在完全知晓目标系统内部结构、源代码、设计文档等 “白盒” 信息的前提下,对系统进行全面的安全分析,以发现潜在的漏洞、逻辑缺陷或不符合安全规范的代码。

第八关:href支持的编码

这里很多词给过滤掉了,我们就要看href支持哪些编码了
HTML 实体编码:JavaScript 变成 &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&colon;

UTF-8编码、URL编码、Unicode编码出来 javascript 还是 javascript
所以答案:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;alert(1)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RocketMQ源码级实现原理-消息消费总览

Overview可以看到&#xff0c;pull message和consume message实际上是两个过程&#xff0c;但是对于用户是透明的 注意这三个Offset的含义&#xff0c;physical offset就是commitLog中的全局偏移量分发dispatch如上图&#xff0c;Topic的每个queue&#xff0c;都绑定了唯一的一…

linux打包固件shell脚本

不打包 pack.sh解压后无父目录&#xff08;直接是文件&#xff09;生成 checksum.txt&#xff08;包含所有文件的 SHA256&#xff09;打包后 .tar.gz 移动到上级目录#!/bin/bash# 检查是否传入版本号参数 if [ -z "$1" ]; thenecho "Usage: $0 <version> …

用uniapp开发鸿蒙应用(暂停更新-根据项目更新,现在项目未开始)

1.根据博客生成.hap文件 【鸿蒙HarmonyOS开发技巧&#xff1a;如何不依赖华为商店直接安装uniapp生成的app文件&#xff1f;一键转换app至hap格式教程详解】_entry-default-signed.hap-CSDN博客 根据网络查询鸿蒙手机安装测试app&#xff0c;需要电脑命令安装 在鸿蒙HarmonyOS手…

Linux 文件系统实现层详解:原理、结构与驱动衔接

&#x1f4c2; Linux 文件系统实现层详解&#xff1a;原理、结构与驱动衔接 &#x1f3ac; 推荐搭配视频学习&#xff1a;Linux 文件系统子系统&#xff1a;三层架构全面掌握 一、为什么要重点理解文件系统实现层&#xff1f; 文件系统实现层是 Linux 文件系统的“地基”&…

区块链应用场景深度解读:金融领域的革新与突破

引言&#xff1a;区块链技术的演进与金融领域的变革区块链技术自2008年诞生以来&#xff0c;以其去中心化、不可篡改、可追溯等特性&#xff0c;在全球范围内引发了金融领域的深刻变革。从最初的数字货币实验&#xff0c;到如今在跨境支付、证券交易、供应链金融等领域的广泛应…

redisson tryLock

应用场景RLock rLock redissonClient.getLock(Constant_LOCK request.getId()); try {boolean isLocked rLock.tryLock();if (!isLocked) {throw new ServiceException(ErrConstant.OPERATION_FAILED, "请勿重复提交");}源码public interface RLock extends Lock,…

前端docx库实现将html页面导出word

前言&#xff1a;最近遇到一个需求&#xff0c;需要将页面的html导出为word文档&#xff0c;并且包含横向和竖向页面&#xff0c;并且可以进行混合方向导出。经过一段时间的实验&#xff0c;发现只有docx这个库满足这个要求。在这里记录一下实现思路以及代码。 docx官网 一、…

虚拟主机CPU占用100导致打不开的一次处理

背景 突然有一天&#xff0c;有个客户网站打不开了&#xff0c;发来这样一张图片问题排查 打开阿里云虚拟主机控制面板&#xff0c;CPU 使用率已经达到了100%&#xff0c;这说明网站已经在高负荷运转。分析访问日志发现&#xff0c;网站出现了大量循环路径&#xff0c;其 UserA…

设计模式之工厂模式:对象创建的智慧之道

工厂模式&#xff1a;对象创建的智慧之道 引言&#xff1a;为什么我们需要工厂模式&#xff1f; 在软件开发中&#xff0c;对象创建是最常见的操作之一。当代码中充满new关键字时&#xff0c;系统会面临三大痛点&#xff1a; 紧耦合&#xff1a;客户端代码直接依赖具体实现类扩…

Docker镜像制作案例

1、使用Docker commit制作镜像为ubuntu镜像提供ssh服务①&#xff1a;拉取镜像[rootopenEuler-1 ~]# docker pull ubuntu:18.04②&#xff1a;启动镜像[rootopenEuler-1 ~]# docker run --name c1 -it --rm ubuntu:18.04 bash③&#xff1a;替换aliyun源mv /etc/apt/sources.li…

KeilMDK5如何生成.bin文件

1&#xff1a;主要是要找到fromelf.exe的路径2&#xff1a;接下来要做的要视情况而定&#xff1a;选完fromelf.exe后在输入框中加个空格然后加一串字 : --bin -o ./Obj/L.bin ./Obj/L.axf&#xff0c;如下我设置的L最终会替换成项目名 3&#xff1a;去构建生成编译一下&#…

Ajax接收java后端传递的json对象包含长整型被截断导致丢失精度的解决方案

问题描述 在使用java编写代码的时候,后端返回前端的JSON对象中包含了Long长整型,前端接受的时候丢失了精度问题。 比如: 后端传递的json {"code": "200","msg": "操作成功","data":

MybatisPlus由浅入深

MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;旨在简化开发过程。基本使用步骤1.依赖引入<!-- mysql依赖 --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>…

蓝牙信号强度(RSSI)与链路质量(LQI)的测量与应用:面试高频考点与真题解析

在蓝牙通信领域&#xff0c;信号强度&#xff08;RSSI&#xff09;和链路质量&#xff08;LQI&#xff09;是评估无线链路性能的核心指标。无论是智能家居设备的连接优化&#xff0c;还是工业物联网中的抗干扰设计&#xff0c;这两个指标都扮演着关键角色。本文将结合面试高频考…

PyTorch的计算图是什么?为什么绘图前要detach?

在PyTorch中&#xff0c;计算图&#xff08;Computational Graph&#xff09; 是自动求导&#xff08;Autograd&#xff09;的核心机制。理解计算图有助于解释为什么在绘图前需要使用 .detach() 方法分离张量。一、什么是计算图&#xff1f; 计算图是一种有向无环图&#xff08…

深度学习入门代码详细注释-ResNet18分类蚂蚁蜜蜂

本项目将基于PyTorch平台迁移ResNet18模型。该模型原采用ImageNet数据集&#xff08;含1000个图像类别&#xff09;进行训练。我们将尝试运用该模型对蚂蚁和蜜蜂进行分类&#xff08;这两个类别未包含在原训练数据集中&#xff09;。 本文的原始代码参考于博客深度学习入门项目…

北京饮马河科技公司 Java 实习面经

北京饮马河科技公司 Java 实习面经 本文作者&#xff1a;程序员小白条 本站地址&#xff1a;https://xbt.xiaobaitiao.top 1&#xff09; 面试官&#xff1a;我看你这块是有一个开源的项目&#xff0c;这个项目主要是做什么的&#xff1f; 我&#xff1a;主要两点是亮点&…

java基础(day07)

目录 OOP编程 方法 方法的调用&#xff1a; 在main入口函数中调用&#xff1a; 动态参数&#xff1a; 方法重载 OOP编程 方法 概念&#xff1a;指为获得某种东西或达到某种目的而采取的手段与行为方式。有时候被称作“方法”&#xff0c;有时候被称作“函数”。例如UUID.…

使用EasyExcel动态合并单元格(模板方法)

1、导入EasyExcel依赖<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.3</version> </dependency>2、编写实体类Data publci class Student{ ExcelProperty("姓名")pri…

jenkins 流水线比较简单直观的

//全篇没用自定义变量pipeline {agent any// 使用工具自动配置Node.js环境tools {nodejs nodejs22 // 需在Jenkins全局工具中预配置该名称的Node.js安装}//下面拉取代码通过的是流水线片段生成的stages {stage(Checkout Code) {steps {git branch: release-v1.2.6,credentials…