当前位置: 首页 > wzjs >正文

江门建设银行网站徐州百度推广

江门建设银行网站,徐州百度推广,网站建设流图visio,做拍福利爱福利视频网站前言 在测试一个学校网站的时候,发现一个未授权访问内网系统,但是这个未授权并不是接口啥的,而是对前端 js 的审计和调试发现的漏洞,这里给大家分享一下这次的漏洞的过程。 进入内网的过程 可以看到是一个图书馆的网站&#xff…

前言

在测试一个学校网站的时候,发现一个未授权访问内网系统,但是这个未授权并不是接口啥的,而是对前端 js
的审计和调试发现的漏洞,这里给大家分享一下这次的漏洞的过程。

进入内网的过程

image-20240930213920110

可以看到是一个图书馆的网站,但是只有登录了内网才能访问图书馆的资源,这个能够理解嘛,毕竟大学的图书馆资源都是内部资源

然后随便尝试登录一下

image-20240930214055735

会检验我的 ip,ctf 学习的如何伪造 ip,可以用起来了

image-20240930215546020

发现还是不可以,emmm,可能伪造得不对,fuzz 一波

image-20240930215650696

全包 400 了,我去,检查一手

image-20240930215733983

原来是给我们 url 编码了,所以这里给各位说一下,当你遇到这个问题的时候,你就需要去设置一个小东西

image-20240930215815217

取消

image-20240930215841770

没有区别,emmm 还是不行

难道真的要不行了吗

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

我尝试直接去 js 代码中看看,是不是在 js 中的限制,或者查找一下获取我的 ip 的逻辑,尝试有没有别的伪造方法

image-20240930220528844

然后我们定位到 js 的代码

else if (state == '2'){$("#login_error").html('您的IP不在授权区域');return false;}

发现是根据 state 来确定的

var state = $.trim(msg);

而 state 又来自于 msg

然后我们发现了关键代码

function check_login($url){var name   = $("#name").val();var passwd = $("#passwd").val();var remme  = $("#checkboxindex").val();if(remme == 1){setCookie('dydlname', name );setCookie('dydlpasswd', passwd );}else{setCookie('dydlname');setCookie('dydlpasswd');}$.ajax({type : "POST",async : true,url : "../ucheck.php",data : "name=" + name +"&passwd=" + passwd,success : function(msg) {var state = $.trim(msg);//alert (state);//alert (msg);//state[0] = 6;if (state == '1') {window.location.href=$url;//alert ($url);return true;} else if (state == '2'){$("#login_error").html('您的IP不在授权区域');return false;}else if (state == '3'){$("#login_error").html('用户名或密码错误');return false;}else if (state == '6'){showNotice();return false;}}});
}

简单看一看

var name = $("#name").val();
var passwd = $("#passwd").val();
var remme = $("#checkboxindex").val();
  • name 获取用户输入的用户名,使用的是 jQuery 来从 id 为 #name 的输入框中提取值。
  • passwd 获取用户输入的密码,提取自 id 为 #passwd 的输入框。
  • remme 获取用户是否选择了“记住密码”的选项,提取自 id 为 #checkboxindex 的复选框

记住密码的逻辑是

if(remme == 1){setCookie('dydlname', name );setCookie('dydlpasswd', passwd );
} else {setCookie('dydlname');setCookie('dydlpasswd');
}

如果用户选择了“记住密码”(remme == 1),代码会调用 setCookie 函数设置两个 cookie,分别存储用户名 (dydlname) 和密码 (dydlpasswd)。

如果用户未选择记住密码,代码会清除这些 cookie。

嘿嘿嘿,那如果能够获得别人的 cookie,那么我们就可以直接获取账号和密码了

我们看看 cookie 的逻辑

/* 添加/删除 cookie */
function setCookie(name, value, exdays, path) {var exdate = new Date();exdays = exdays || 365;exdate.setDate(exdate.getDate() + exdays);if(value === null) {value = '';exdays = -3;}document.cookie = name + '=' + encodeURIComponent(value) + ((typeof exdays === 'undefined') ? '' : ';expires=' + exdate.toGMTString()) ;
}

先就是设置一下 cookie 的过期时间,然后就是设置 cookie 的值

document.cookie = name + '=' + encodeURIComponent(value) + ((typeof exdays === 'undefined') ? '' : ';expires=' + exdate.toGMTString());

encodeURIComponentvalue 进行 URL 编码,防止特殊字符导致 Cookie 无效或出现错误。

我们看处理服务器响应的部分

状态码 1: 登录成功

if (state == '1') {window.location.href = $url;return true;
}
  • 如果状态码是 1,则认为登录成功,跳转到传入的 $url 页面。

状态码 2: IP 不在授权区域

else if (state == '2'){$("#login_error").html('您的IP不在授权区域');return false;
}
  • 如果状态码是 2,提示“您的 IP 不在授权区域”。

状态码 3: 用户名或密码错误

else if (state == '3'){$("#login_error").html('用户名或密码错误');return false;
}
  • 如果状态码是 3,提示“用户名或密码错误”。

状态码 6: 显示通知信息

else if (state == '6'){showNotice();return false;
}
  • 如果状态码是 6,调用 showNotice() 函数,可能会弹出一些通知或消息提醒。

首先看一下 6

image-20240930222753152

然后我们检查回显

image-20240930222822916

好的没有有用的信息,然后我们就回到改成 1

image-20240930222931790

调试 js

image-20240930222951064
image-20240930223011303

成功进入了分支,然后会跳转 url

image-20240930223050861

到 index.php

但是发现页面任然没有什么变化,????
尝试直接访问image-20240930223501161

直接 302 跳转了

但是必须进内网才可以啊

我又在这里磨了很久,发现早都成功了

image-20240930225228376

其实虽然 302 了,但是资源还是可以访问到的

image-20240930225253308

然后全是这个学校的内部的文献

sql 注入的发现

但是可惜的是只能在 bp 中操作,所以很不方便,我看源码,然后找到一些文件,尝试一下爆破目录,看看有没有价值的目录,比如
admin,因为内网的话弱口令很多的

当时爆了一会,这个网站直接就崩溃了,不敢爆了,全是别人学校的内步藏书

当时 502 差点没有把我吓死我去,然后就是

随便访问一下

不能爆破目录,只能去尝试 sql 注入了

然后成功了 wc

有 sql 注入,然后下面就开始 sql 注入吧

可以看到注释后成功了

sql 注入无限尝试

首先尝试万能密码

image-20240930230358710

md,发不出去包

就很离谱

然后尝试一下基本的语句,看看哪里出了问题

image-20241001012119879

连基本的 or 1=1 都不可以,发不出去包,很奇怪

or 被过滤了或者=被过滤了??

尝试一下

or

等于符号

都没有被过滤啊??,但是组合在一起就不可以了,奇怪啊

尝试 order by 看看

10000 都没有反应

尝试盲注

1’and%20length((select%20database()))>1%23

好像是可以的??

改成小于看看结果

1’and%20length((select%20database()))<1%23

但是没有任何区别???

奇怪了我去

尝试时间盲注

1’and%20sleep(5)%23

image-20241001013137883

发不过去包了

我把 sleep 的数字给去掉就可以了

应该是过滤了 sleep(数字)这种类型??

还专门看了一下语法的错误

image-20241001013940820

确实是没有问题的,本地都是可以的

然后灵机一动,我输入小数

image-20241001014039405

本地是可以的,在环境中尝试一手

至此 sql 注入验证成功

sql 验证就够了,不敢乱打,sqlmap 我都害怕给它扫没有了

最后

声明:文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。

http://www.dtcms.com/wzjs/249632.html

相关文章:

  • 河北盘古做的网站用的什么服务器运营商推广5g技术
  • 影视广告设计与制作网站seo主要是做什么的
  • 策划书案例范文seo网站的优化流程
  • 为什么一个网站做中英文双语版seo软文是什么意思
  • 美食网站中饮食资讯该怎么做如何提高网站在搜索引擎中的排名
  • 成都专业做网站公司佛山网站建设正规公司
  • 天津网络建站模板淘宝关键词优化怎么弄
  • 做网站包括哪些百度推广技巧方法
  • 深圳网站制作的公司深圳app开发网络推广收费价目表
  • 门户网站属于数字媒体吗网页开发流程
  • wordpress游戏充值关键词优化排名
  • 网站开发都需要哪些图网络营销的几种模式
  • 网站的倒计时怎么做的app运营方案
  • 手机触屏网站开发教程营销到底是干嘛的
  • 保山企业网站建设合肥百度关键词排名
  • 做图文链接网站做推广的都是怎么推
  • 湖南网站建设武威网站seo
  • wordpress 商品比价seo如何优化的
  • 自己搭建聊天平台优化网站seo公司
  • 做网站站怎么赚钱吗最新营销模式有哪些
  • 大庆网站设计费用搜索引擎推广方法
  • 网站怎么做返回主页按钮搜狗竞价
  • 手机在线做ppt模板下载网站最新军事报道
  • 免费网站设计定制正规教育培训机构
  • 肃宁网站建设建网站需要什么
  • 网站建设与管理相关工作岗位如何搭建一个网站
  • 排名前十的招聘app北京网站优化体验
  • 沈阳网站建设包括360免费建站官网
  • 网站防火墙怎么做2023网站推广入口
  • 怎么用自己的电脑做网站空间杭州seo联盟