freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

信息收集组合拳之从废弃接口中寻找漏洞
2021-10-14 12:32:36

使用OneForAll工具通过域名收集网址和ip

OneForAll是一款功能强大的子域收集工具,工具地址:GitHub - shmilylty/OneForAll

常用命令:python oneforall.py --targets targets.txt run

targets.txt中放入需要扫描的域名,运行后会在results文件夹下生成扫描结果

1634185592_6167b178b821c1a7c3f78.png!small?1634185592523

在运行结果中我们可以看到有url、子域名、ip

1634185615_6167b18f6f674a9bd7f6c.png!small?1634185616200

其中运行结果中ip是一行多个、还有重复的,我们需要提取ip转换成每行一个ip且没有重复的txt文本中,方便其他工具扫描

脚本:删除重复ip

#!/usr/bin/env python# conding:utf-8##把同一行的ip换行,然后写进result.txt的文件里with open('ip.txt','r',encoding='utf-8') as readlist:for dirs in readlist.readlines():with open('result.txt','a',encoding='utf-8') as writelist:b = dirs.replace(",", '\n')writelist.write(b)#去除重复ip,然后把结果写进only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist:lines_seen = set()for line in readlist.readlines():if line not in lines_seen:lines_seen.add(line)with open('only.txt','a',encoding='utf-8') as writelist:writelist.write(line)提取成这样单行一个ip且不重复的文本,我们就可以放到goby、fscan、小米范等工具中扫描

1634185706_6167b1eab887e39c72045.png!small?1634185706413

fscan工具扫描ip

工具地址:GitHub - shadow1ng/fscan: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。

这款工具主要是用于内网扫描,发现资产以及进行漏洞扫描与弱口令爆破,运行速度很快,用于外网探测发现一些web资产也是不错的选择

常用命令:全端口扫描 fscan64.exe -hf ip.txt -p 1-65535 -o result.txt

ip.txt中放入需要扫描的ip地址,result.txt为运行结果

1634185739_6167b20b34bccea115105.png!small?1634185739105

1634185748_6167b214006baadd0df07.png!small?1634185747966

小米范

工具地址:我的小工具 - 标签 - 范世强 - 博客园

(找不到这个版本的地址了,就贴个作者的博客地址吧)

1634185764_6167b22412696f91b08ed.png!small?1634185763845

JSFinder扫描js及url

工具地址:GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.

常用命令:python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt

targets.txt中放入需要扫描的url,运行结束后生会成两个txt文本, JSurl.txt为URL,JSdomain.txt为子域名

1634185780_6167b234d0a1bb1192299.png!small?1634185780589

上面这些工具的扫描结果中含有很多的url,我们需要效率高一些的话我们可以优先从参数下手,于是需要筛选含有参数的url

脚本:提取含有参数的url

#!/usr/bin/env python# conding:utf-8#字符串中有“?”且不在字符串的结尾的就写入result.txt中with open('JSurl.txt','r',encoding='utf-8') as readlist:for dirs in readlist.readlines():# re_result=re.search(r"'?'",dirs)# re_result=str(re_result)if "?" in dirs :#判断字符中是否有“?”,如果有则返回该字符串的位置,是从坐标0开始算的re = dirs.find("?") # a=len(dirs)-2是为了判断“?”是不是在最后一个字符,len()与find()不同是从一开始算字符串的长度的,在加上每行字符中\n换行符也占了一个字符,所以要减2a=len(dirs)-2#判断字符串中“?”是不是在字符的最后if re < a :with open('result.txt','a',encoding='utf-8') as writelist:writelist.write(dirs)#去除result.txt中的重复字符串,然后把结果写进only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist:lines_seen = set()for line in readlist.readlines():if line not in lines_seen:lines_seen.add(line)with open('only.txt','a',encoding='utf-8') as writelist:writelist.write(line)

1634185828_6167b26475001df5f5897.png!small?1634185828017

运行完脚本生成的含有参数的url如下所示

1634185846_6167b27663aa79e571b67.png!small?1634185846125

从废弃接口中寻找漏洞

有些网站经过了多轮渗透,正常业务都测烂的,连逻辑漏洞都找不到,经历了上面一番信息收集后,一般能收集到网站的历史业务中的url。

然后我们将url使用脚本处理筛选之后的结果可以批量放到sqlmap中跑,还有一些敏感接口可以尝试寻找越权、信息泄露等。

sqlmap批量扫描

常用命令:python sqlmap.py -m urls.txt --batch

在urls.txt文件内放入我们使用“提取含有参数的url”这个脚本筛选后的url

1634185863_6167b28764de1e98a49d7.png!small?1634185862986

除了参数以外也可以用同样的思路把脚本修改一下去找敏感接口与url跳转参数等

常见敏感接口

http://xxxxx/xxx/registerSuccess.do

http://xxxxx/xxx/getALLUsers

http://xxxxx/xxx/deleteuser

http://xxxxx/xxx/api/admin/v1/users/all

常见跳转参数

toUrl=
login_url=
register_url
redirect_url=
load_url=
proxy_url=
file_url=
jump_url=

某次项目中客户都疑惑我怎么找到的接口

1634185884_6167b29c08a55f749b026.png!small?1634185883697


# web安全 # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录