流程图
首先需要爬行该网站,获取到网站链接,然后再对这些链接进行检测,最后结果保存在本地。
工程设计
爬行链接
惭愧,并没有用详细的正则表达式专门提取链接。使用的是寻找Href的值,然后剖去http与javascript。将爬行的结果保存在列表,因为可能一次性可能爬很多的链接,没有必要检测这么多的链接,所以最后做了一些筛选,只随机选择5个链接进行检测。
r_sql = re.findall('href="(.*?)"', r_crawl.content)
list_none = []
for sql_sql in r_sql:
if 'php?' in sql_sql:
if not 'http' in sql_sql and not 'jsvascript' in sql_sql:
list_none.append(url + '/' + sql_sql.lstrip('/'))
else:
pass
else:
pass
同理把php换成asp,aspx等就能爬行asp,aspx的链接。
验证注入
思路是加上一些让能让数据库报错的东西,比如单引号,and1=2这样的。然后在链接上加上这些payloads,根据返回