web安全学习笔记(15)

news2024/11/13 16:50:46

记一下第25-26课的内容。弱口令爆破的四种模式与判断成功失败的三种方案;爆破中的验证码拦截+错误次数+IP限制+密码加密绕过 + IP获取的原理以及绕过CDN获取客户真实IP

一、弱口令的分类

1.常规弱口令:如123456,666666,888888等

2.默认弱口令:如防火墙、路由器出厂时的默认密码。

例,天融信防火墙的默认密码:

又例如,深信服防火墙默认密码Sangfor888

二、使用burp进行弱口令爆破

打开我们的靶场,找到admin登录页面后台登录

1.随便在后台输入登录信息,抓一个登录数据包,并选择“发送到Intruder”

2.通过文件加载字典,进行爆破

然后选择攻击类型为sniper,在密码处添加payload位置,设置好后,点击开始攻击:

通常而言,爆破成功所返回的“长度”字段的值要么会很大,要么会很小,会和正常返回的值不一样,不过此处登录成功和登录失败都有715的长度,这里的原因是,登录成功里面,url是非空的,登录失败里面,url是空的,然而登录成功的msg字段为“登录成功”,登录失败的msg字段为“用户名或密码错误”,正好抵消了字段长度差,因此具体情况要具体分析。

另外,我们在已知这里登录成功会出现"code":1字段的情况下,我们可以在攻击的结果页面,点击“设置”,找到“检索-提取”,选择“从相应包中获取以下项目”,点击“添加”,并拉选"1"的相应位置,点击“确认”。

然后我们回到结果页面,就会有相应的显示:

除了sniper类型的攻击外,burp共支持四种类型的攻击,如下图所示:

①Sniper,单向模式,就是我们刚才演示的,爆破用户名或密码

②Battering ram,可以同时爆破用户名和密码(或者其他多个变量),通常用于寻找用户名和密码相同的账户,这时就要将用户名的变量位置和密码的变量位置都添加payload位置

③Pitchfork,这里要导入多个字典。攻击同时遍历所有payload集,因此它使用每个集中的第一个payload,然后使用每个集中的第二个payload,依此类推。对于哪一个变量使用哪一个字典,遵循“从上至下,从左至右”的原则。而对于字典的设置,在payload->payload集中进行设置

④Clusterbomb,集束炸弹,类似于交集,取第一个字典中的第i个元素,与第二个字典的所有元素进行遍历。

然而在实际应用中,我们往往面临各种各样的问题,下面对几个常见的问题进行讲解:

三、实践中的问题

1.验证码校验无法爆破

我们打开有验证码登录的靶场:

随便输入用户名密码,输入对应的验证码,在burp中开启拦截,点击登录

如果我们不去请求验证码接口,验证码就不会改变,所以我们先把它send to Intruder,然后直接丢弃这个数据包。这时候页面会提示有未知错误:

如何验证网页是否存在验证码漏洞呢?我们可以在intruder里面,连续两次提交,如果都提示“用户名或密码错误”,说明存在验证码漏洞,如果第一次提示“用户名或密码错误”,但第二次提交就提示“验证码错误”,说明这里的验证码不能这么办他。

至此总结验证码校验的绕过思路:

①在提交信息之后是否及时销毁掉了SESSION中的验证码,如果没有销毁,那么我们就可以无限调用。

②通过验证码识别软件或者某些burp插件去绕过。

③关于点触验证码(给一张图片让你依次点击文字)和滑动验证码的知识暂时不讲。

2.密码错误次数限制

实现过程:

①使用数据库进行验证,这个就很难进行爆破

②使用SESSION,就可以删除SESSION进行爆破

3.密码进行了某种加密

例如该网站的内容,我们随便输入用户名密码然后登陆,直接在网页中找到数据包,发现用户名和密码都被加密。

下面讲述尝试查看其如何加密的三种方法

在网页中找到用户名的位置,右键检查,发现其位置,并得知其name属性为username,id属性为u01。

然后进行查找,先查找其id在网页中出现的地方,发现并没有给我们提供有用的信息:

于是我们查找username,发现有相关内容,其加密可能是在此处进行的:


    <!--
    if (document.loginForm.username.value == '') {
        document.loginForm.username.focus();
    } else {
        document.loginForm.password.focus();
    }
    //-->
    var publicKeyString = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUmOXyQmYYSnZacp0btvAZCOvCNPtzixAp7eJmzmAG4mgy/VgrY/s1BDLh9qTNHIRWXepUtwMrf1kYul/A45qE/2oxIbeeq4238YDWQ7ModOVXR9ytEHsT0jpCFvoYfYXYZnnoWRrLIBylQeXzqxbLDxxBxGCs4AjoRKh5S7nNQIDAQAB';

    function rsa_encrypt(data) {
        var encrypt = new JSEncrypt();
        encrypt.setPublicKey(publicKeyString);
        return encrypt.encrypt(data);
    }

    function submitForm() {
        time(document.getElementById("myform"));
        var theForm = document.forms[0];
        if (theForm.username.value != '' && theForm.password.value != '') {
        	if(theForm.username.value == 'sysadmin') {
                theForm.username.value = 'admin'
            }
            theForm.password.value = rsa_encrypt(theForm.password.value);
            theForm.username.value = rsa_encrypt(theForm.username.value);
            
            theForm.submit();
        }
    }

    // 提醒后连续三次登录失败锁定账号后,出现按钮登录倒计时
    var wait = -2;

    function time(object) { //如果没有缓存或者是登录锁定前,不进行按钮禁用
        if (wait == 0 || (true)) {
            object.removeAttribute("disabled");
        } else {
            object.setAttribute("disabled", true);
            wait--;
            if (wait == 0) {
                object.value = "登录";
            } else {
                object.value = "请在" + wait + "秒后重新尝试";
            }
            setTimeout(function () {
                time(object)
            }, 1000);
        }
    }

通过查看代码,我们可以判断出这里使用了rsa加密,并且可以找到其公钥publicKeyString = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUmOXyQmYYSnZacp0btvAZCOvCNPtzixAp7eJmzmAG4mgy/VgrY/s1BDLh9qTNHIRWXepUtwMrf1kYul/A45qE/2oxIbeeq4238YDWQ7ModOVXR9ytEHsT0jpCFvoYfYXYZnnoWRrLIBylQeXzqxbLDxxBxGCs4AjoRKh5S7nNQIDAQAB'

这样,我们就可以通过他的代码,对我们的输入进行加密,然后放到数据包里面,实现爆破。

或者也可以在burp里面实现简单的编码,要记得将最下面的框去掉勾选,此外我们可以多次编码,只需要多次add即可:

四、PHP中获取IP的原理以及绕过CDN获取客户真实IP

function getClientIP(){
    //getenv()函数定义:取得系统的环境变量
    if (getenv("HTTP_CLIENT_IP")) {
        $ip = getenv("HTTP_CLIENT_IP");
    } elseif (getenv("HTTP_X_FORWARDED_FOR")) {
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    } elseif (getenv("REMOTE_ADDR")) {
        $ip = getenv("REMOTE_ADDR");
    } else {
        $ip = "Unknow";
    }
    if ($ip == '::1'){
        //本地
        $ip = '127.0.0.1';
    }
    return $ip;
}

绕过CDN寻找网站真实IP的方法汇总_如何查找到网站真实ip-CSDN博客

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

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

相关文章

网络安全等级保护在工业控制系统中的应用

工业控制系统(Industrial Control Systems,ICS)&#xff0c;是由各种自动化控制组件和实时数据采集、监测的过程控制组件共同构成。其组件包括数据采集与监控系统(SCADA)、分布式控制系统(DCS)、可编程逻辑控制器(PLC)、远程终端(RTU)、智能电子设备(IED)&#xff0c;以及确保各…

jspXMl标记语言基础

1.打开命令框进入数据库 打开eclipse创建需要连接的项目 粘贴驱动程序 查看驱动器 使用sql的包 int代表个 conlm代表列名 <%page import"java.sql.ResultSet"%> <%page import"java.sql.Statement"%> <%page import"java.sql.Connect…

Elasticsearch 实现word、pdf、txt、excel文档内容快速检索(保姆级教程)

本文主要讲解ES如何从提取文档中提取内容&#xff08;word、pdf、txt、excel等文件类型&#xff09;&#xff0c;实现快速检索文档内容实现。 特别说明一下&#xff0c;为什么用7.10.0版本&#xff0c;因为在项目中除了精确匹配的要求&#xff0c;也会有模糊查询&#xff08;关…

合并K个升序链表

题目 解法一 优先级队列 思想 将每个链表中的一个节点存放到优先级队列中&#xff0c;本题采用小根堆&#xff0c;将小根堆中的根节点取出&#xff0c;插入到最终的链表中&#xff0c;并且将该节点在原链表中的下一个节点插入小根堆中&#xff08;需要向下调整&#xff09;&a…

Day_5

1. Apache ECharts Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表 官网地址&#xff1a;https://echarts.apache.org/zh/index.html 入门案例 快速入门&#x…

LearnOpenGL(十八)之面剔除

一、面剔除 对于一个3D立方体&#xff0c;无论我们从哪个方向&#xff0c;最多只能同时看到3个面。如果我们能够以某种方式丢弃另外几个看不见的面&#xff0c;我们就能省下超过50%的片段着色器执行数&#xff01; 这正是面剔除(Face Culling)所做的。OpenGL能够检查所有面向…

ClassificationPrimitive 内部原理

ClassificationPrimitive 内部原理 发明 ClassificationPrimitive的真是个天才。其原理是利用 webgl 的模板缓冲区实现。 渲染两次, 首先是绘制模板, 然后绘制真正的内容。 示意图: function createClass() {const { program, uniforms } WebGLProgram.buildPrograms(gl, …

PMR-440N7Q韩国施耐德三和相序继电器EOCR-PMR

韩国施耐德三和EOCR继电器PMR-440N7Q PMR-440-N 直流电动机保护器:DCL、DOCR-S/H 欠电流继电器:EUCR-3C 交流电压继电器:EOVR、EVR-PD、EVR-FD、EUVR 韩国三和EOCR电动机保护器:EOCR-SS、EOCR-SS1/SS2、EOCR-AR、EOCR-ST、EOCR-SP、EOCR-SP1/SP2、EOCR-SE、EOCR-SE2/SE PMR-44…

会员网站如何创建具有不同仪表盘结构的用户帐户页面

用户帐户页面是中央用户仪表盘&#xff0c;用户可以在其中添加和编辑信息、发布和编辑帖子以及保存收藏夹项目。本教程介绍如何使用“内容”和“重写”模板模式设置帐户页面、为帐户页面创建子页面以及设置个人资料菜单等。 在本教程中&#xff0c;我们将介绍如何使用招聘网站…

Netty的组件和设计

目录 Channel、EventLoop和ChannelFuture Channel接口 EventLoop接口 ChannelFuture接口 ChannelHandler和ChannelPipeline ChannelHandler接口 ChannelPipeline接口 更加深入地了解ChannelHandler 编码器和解码器 抽象类SimpleChannelInboundHandler 引导 从高层次…

vue网页端控制台展示独有标记

效果展示 实现步骤 1. 新建js文件 定义一个类 用于提供控制台打印日志显示样式的方法 src\libs\util.log.js class Logger {// 定义静态方法static typeColor(type "default") {let color "";switch (type) {case "default":color "#3…

Lambda 表达式详解

LAMBDA ⚪ λ 希腊字母表中排序第十一位的字母, 英语名称为Lambda ⚪ 避免匿名内部类定义过多 ⚪ 其实质属于函数式编程的概念 ⚪ 也可称为闭包 ⚪ Lambda允许把一个函数作为方法的参数&#xff08;函数作为参数传递进方法中&#xff09;。 Lambda是在jdk8之后出现的所以现…

Xed编辑器开发第一期:使用Rust从0到1写一个文本编辑器

这是一个使用Rust实现的轻量化文本编辑器。学过Rust的都知道&#xff0c;Rust 从入门到实践中间还隔着好几个Go语言的难度&#xff0c;因此&#xff0c;如果你也正在学习Rust,那么恭喜你&#xff0c;这个项目被你捡到了。本项目内容较多&#xff0c;大概会分三期左右陆续发布&a…

WebLogic SSL应用

SSL 安全套接字层(SSL)是通过在客户端和Web服务器端之间进行身份验证,并对双方交换的数据进行加密,从而提供安全连接。 验证类型: 单向:客户端验证Web服务器端证书 双向:客户端验证Web服务器证书, Web服务器验证客户端证书 Weblogic Server12c 支持 SSL 3.0 和 TLS1.0 …

HCIP【Hybird实验】

目录 一、实验拓扑图&#xff1a; 二、实验要求&#xff1a; 三、实验思路&#xff1a; 四、实验过程&#xff1a; 1、配置PC的IP地址&#xff08;不用配置网关&#xff0c;这个拓扑图没有使用到三层设备&#xff09; 2、交换机配置 3、PC间进行测试&#xff1a; 一、实…

如何设计实用的ITSM自助服务台

在现代IT服务管理&#xff08;ITSM&#xff09;领域中&#xff0c;自助服务台已成为IT运维环境的核心组件。它作为企业内部信息中心与其他部门用户之间的桥梁&#xff0c;一个以用户为中心的平台&#xff0c;更注重用户的自主性和自助能力&#xff0c;使用户能够直接访问所需的…

ModuleNotFoundError: No module named ‘openpyxl‘的解决方案

问题描述&#xff1a; ModuleNotFoundError: No module named ‘openpyxl’ 这个错误表示你的 Python 环境中没有安装 openpyxl 这个模块。openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。 解决方案&#xff1a; 要解决这个问题&#xff0c;你需…

第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 抓娃娃

//前缀和 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c,d[n],l,r; signed main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a>>b;map<int,int>t;for(int i1;i<a;i){cin>…

PCIe协议之-TLP Header详解(二)

✨前言&#xff1a; 在PCIe中&#xff0c;存在几种不同类型的请求&#xff0c;主要包括IO(Request)请求、存储器(Request)请求和配置(Request)请求。这些请求类型允许CPU与连接在PCIe总线上的设备进行通信和控制。 &#x1f31f;1. IO(Request)请求 定义与作用: IO请求&…

武汉星起航深耕亚马逊跨境领域,助全球卖家实现国际销售新突破

随着全球贸易的日益繁荣和互联网的快速发展&#xff0c;跨境电商行业迎来了前所未有的发展机遇。作为全球领先的电商平台&#xff0c;亚马逊以其丰富的商品品类、全球配送网络以及高效的物流体系&#xff0c;成为了众多卖家拓展国际市场的重要渠道。在这一背景下&#xff0c;武…