4.3 爬虫和SQL检查的结合
在lib/core/Spider.py文件引用一下from script import sqlcheck 等下节课我们开发出了插件系统后,就不需要这样引用了,爬虫会自动调用,但这节课为了测试,我们还是引用一下。在craw()方法中,取出新url地方调用一下。()
##sql check
try:
if(sqlcheck.sqlcheck(new_url)):
print("url:%s sqlcheck is valueable"%new_url)
except:
pass
用try检测可能出现的异常,绕过它,在文件w8ay.py中,我们可以进行测试了。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
Name:w8ayScan
Author:w8ay
Copyright (c) 2017
'''
import sys
from lib.core.Spider import SpiderMain
def main():
root = "https://www.shiyanlou.com/"
threadNum = 10
#spider
w8 = SpiderMain(root,threadNum)
w8.craw()
if __name__ == '__main__':
main()
很重要的一点!为了使得lib 和 script 文件夹中的.py文件可以被认作是模块,请在 lib lib/core 和 script 文件夹中创建 __init__.py 文件(init 前后是两个 _ 下划线),文件中什么都不需要加。
五、总结及回顾
SQL注入检测通过一些payload使页面报错,判断原始网页,正确网页,错误网页即可检测出是否存在SQL注入漏洞
通过匹配出sql报错出来的信息,可以正则判断出所用的数据库
扫描器目前是通过一个爬虫扫描来进行漏洞检测,以后会从各个方面进行检测