作为一个安全测试人员,面对一个大型网站的时候,手工测试很有可能测试不全,这时候就非常需要一个通用型的网站扫描器。当然能直接扫出漏洞的工具也有很多,但这样你只能算是一个工具使用者,对于安全测试你还远远不够。这时候应该怎么做呢?对于那些大量且重复性工作,尽量能用工具实现就用工具实现,然后打包成自己的工具包。如今天的这个url爬取工具。当我们把整站url都爬取出来之后,可以对url进行分析分类,然后有针对性的进行手工测试。
注:此方法只能爬取网页链接性的url,不能爬取js动态生成的url
#python3.5
#urlScan.py
#Author:FrankHacker
import requests
import re
def url_is_correct():
'''
使用requests.get方法判断url是否正确,并返回url
:return:
'''
try:
url = input("Please input the target test url:")
#url = "http://10.70.18.47:8080" 这是我内网环境的测试地址
requests.get(url)
return url
except:
print('please input the correct url!!!')
#exit(-1) #如果url是固定写入的,那么必须添加此句,否则会一直循环
return url_is_correct()
url = url_is_correct() #将验证为正确的url地址赋值给url
def url_protocol(url):
'''
获取输入的url地址的协议,是http、https等
'''
print('该站使用的协议是:' + re.findall(r'.*(?=://)',url)[0])
return re.findall(r'.*(?=://)',url)[0]
urlprotocol = url_protocol(url)
def same_url(url):
'''
处理用户输入的url,并为后续判断是否为一个站点的url做准备ÿ