补天付费厂商漏洞挖掘小技巧

转载自:

补天付费厂商漏洞挖掘小技巧

补天不收的漏洞

补天付费厂商漏洞挖掘小技巧

1、子域名收集

​ 不要想着去撸主站,主站一出来几乎被人轮了个遍,跟大牛抢肉吃,难,放弃。

​ 所以我们一般都是百度找子域名 例如www.xxxxx.com是主站,关键字 inurl:xxxxx.com。如果这样能找到不少子域名。

1.1 补天不收的漏洞

​ 1、反射XSS

​ 2、CSRF

​ 3、目录遍历

​ 4、二进制(据补天审核说,他们没人看的懂,没法审,所以不收)

 5、密码处的验证码爆破

 6、http.sys远程代码执行漏洞

 7、URL爆出了数据库

 8、jquery version泄露

 9、绝对路径泄露

 10、Slow attack满攻击

 11、短文件漏洞

 12、DOS不收

  

2、尝试常用漏洞

** 2.1 爆破**

​ 找到一个系统,如果没验证码,那么爆破吧,得到一发账号,进后台才有意思。

​ 不怕神一样的队友,就怕猪一般的对手~

2.2 CMS通用漏洞

​ 如果网站是利用某CMS建站的,可以去试试CMS通用漏洞,特别是如果有前台高危漏洞,那就很有意思。
958256651
​ 比如dedeCMS爆管理员账号密码的,siteserver后台密码重置漏洞等等经典案例。有时候用起来,事半功倍。

2.3 SQL注入漏洞

​ 有人网站是第三方开发的,第三方的水平又不行,所到之处,全是注入。

2.4 XSS漏洞

​ 补天不收反射XSS,所以我们得找存储型,根据挖付费的经验,能弹个框就行了。哪怕是self-XSS。

如果是盲打的话,少数网站做了cookie的httponly。这样JS是无法读取到cookie的,难不成我们就真没办法了?教大家一个猥琐的小技巧,XSS的本身是在网页上插入你自己的html代码,但我干嘛非要用JS读取你cookie,我可以构造一个表单让你填啊~理由是登录过期、二次验证啥的,这不就得到账号密码了么?

2.5 越权和逻辑漏洞

2.5.1 越权

​ 付费厂商多见于ID参数,比如typeID、OrderID等等,这里只是举例。更改ID,可以越权看其他ID的信息。还有AWVS扫目录,有的后台未授权访问,可以利用。

2.5.2 逻辑漏洞

​ 比如四位验证码,没做错误次数限制,0000-9999一共一万种搭配方式,burp跑一下,很快就得到了。或者支付逻辑漏洞(多见于商城或者网站账户充值),任 意用户密码重置(补天说这是高危漏洞)

** 2.6 任意文件上传/下载**

​ 任意文件上传,找个上传点,上传你的文(mu)件(ma),这时候啥00截断啊,解析漏洞啊霹雳啪啦往脸上糊啊

​ 任意文件下载,找数据库配置文件呗。如果有网站备份(一般是压缩包),嘿嘿嘿~赶紧看看里面有没有数据库啊

2.7 非web问题

​ IIS的解析漏洞、struts2框架的命令执行漏洞、java反序列化命令执行漏洞、等等等等。。。。。

3、我想说的

​ 有人问我为什么不再说一点其他的漏洞,我只想用一张图来表示。



我自己会在挖洞过程中补充以上未提到的点。。


最后说句


2.14

记录下,今天凌晨,疯狂刷补天的公益SRC中的大学和学院。

因为前不久看了一个漏洞,感觉出现的学校还是很多的,并且正方的使用也是很多。

结果发现:大部分学校用 **青果,URP,新、旧版正方 **的CMS比较多,感觉可以三分天下了,其他的都是些大学配合当地公司的或者学校牛逼自己写一个。

并且善用百度,谷歌的搜索语言,对查找是一种捷径。

再提下,刚才的CMS如果有源码更好了,但是如果没有,自己一个个试。(PS:我感觉还是要一个个试,因为这种商业应用不可能有源码公开的)

其次,今天,搜一个学校时,尽然搜到了学校网站的管理后台,这是我第一次遇见,一般会把这种重要的站点放在内网里面,结果放在外网。。hhhh

不过,不清楚是什么,有可能对IP加了白名单吧,用户名和密码都没做过滤,万能密码尝试过后,会提示 错误:62

不知啥意思啦。。。

并且,对于这种刷洞的,那个学校心理要有点number,什么985,211就不要搭理了,因为自己根本没他们学校的学生牛逼哈。

今天情人节,你和谁过呢?

并晒下近期的挖洞情况。。


2018.3.1

放一个爬补天公益SRC的厂商URL的爬虫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 1 import json
2 import requests
3 import time
4 from bs4 import BeautifulSoup
5
6 def spider():
7 '''
8 爬取所有公益厂商的ID
9 保存为id.txt
10 :return:
11 '''
12 headers = {
13 'Host': 'butian.360.cn',
14 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0',
15 'Accept': 'application/json, text/javascript, */*; q=0.01',
16 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
17 'Accept-Encoding': 'gzip, deflate',
18 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
19 'X-Requested-With': 'XMLHttpRequest',
20 'Referer': 'http://butian.360.cn/Reward/pub//Message/send',
21 'Cookie': #放你登录时的cookies
22 'Connection': 'keep-alive'
23 }
24 for i in range(1,149):
25 data={
26 'p': i,
27 'token': ''
28 }
29 time.sleep(3)
30 try:
31 res = requests.post('http://butian.360.cn/Reward/pub/Message/send', data=data,headers=headers,timeout=(4,20))
32 except requests.exceptions.ConnectionError as identifier:
33 print(identifier)
34 allResult = {}
35 allResult = json.loads(res.text)
36 currentPage = str(allResult['data']['current'])
37 currentNum = str(len(allResult['data']['list']))
38 print('正在获取第' + currentPage + '页厂商数据')
39 print('本页共有' + currentNum + '条厂商')
40 for num in range(int(currentNum)):
41 print('厂商名字:'+allResult['data']['list'][int(num)]['company_name']+'\t\t厂商类型:'+allResult\
42 ['data']['list'][int(num)]['industry']+'\t\t厂商ID:'+allResult['data']['list'][int(num)]['company_id'])
43 base='http://butian.360.cn/Loo/submit?cid='
44 with open('id.txt','a') as f:
45 f.write(base+allResult['data']['list'][int(num)]['company_id']+'\n')
46 def Url():
47 '''
48 遍历所有的ID前段时间,看了菜鸟入门,较浅的认识一下golang的语法习惯和规则,然后跟别人做了个爬虫项目,但是对于golang语言的语法结构还不是很懂。又看了遍《go实战》第二章。.md
49 取得对应的域名
50 保存为target.txt
51 :return:
52 '''
53 headers={
54 'Host':'butian.360.cn',
55 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0',
56 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
57 'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
58 'Accept-Encoding': 'gzip, deflate',
59 'Referer':'http://butian.360.cn/Reward/pub',
60 'Cookie': #放你登录时的cookies
61 'Connection':'keep-alive',
62 'Upgrade-Insecure-Requests': '1',
63 'Cache-Control':'max-age=0'
64 }
65 with open('id.txt','r') as f:
66 for target in f.readlines():
67 target=target.strip()
68 getUrl=requests.get(target,headers=headers,timeout=(4,20))
69 result=getUrl.text
70 info=BeautifulSoup(result,'lxml')
71 time.sleep(5)
72 url=info.find(name='input', attrs={"name":"host"})
73 name = info.find(name='input', attrs={"name": "company_name"})
74 lastUrl=url.attrs['value']
75 print('厂商:' + name.attrs['value'] + '\t网址:' + url.attrs['value'])
76 with open('target.txt','a') as t:
77 t.write(lastUrl+'\n')
78 time.sleep(5)
79 print('The target is right!')
80 if __name__=='__main__':
81
82 data = {
83 's': '1',
84 'p': '1',
85 'token': ''
86 }
87 res = requests.post('http://butian.360.cn/Reward/pub/Message/send', data=data)
88 allResult = {}
89 allResult = json.loads(res.text)
90 allPages = str(allResult['data']['count'])
91 print('共' + allPages + '页')
92 spider()
93 Url()