[初学Python]编写一个最简单判断SQL注入的检测工具 您所在的位置:网站首页 sql漏洞检测工具 [初学Python]编写一个最简单判断SQL注入的检测工具

[初学Python]编写一个最简单判断SQL注入的检测工具

#[初学Python]编写一个最简单判断SQL注入的检测工具| 来源: 网络整理| 查看: 265

0x01 背景

15年那会,几乎可以说是渗透最火的一年,各种教程各种文章,本人也是有幸在那几年学到了一些皮毛,中间因学业问题将其荒废至今。当初最早学的便是,and 1=1 和 and 1=2 这最简单的检测注入的方法。如今这种网站几乎可以说是没有了吧2333,现在目标也没有以前那么容易找,想来应该也不会有企业用那种源码了。现今刚好在学Python,闲着无事便来写这么个工具练练手。

0x02 准备

Python基础(至少要有一定的基础才能看懂) URL采集器(寻找目标) Request库(Requests 是用python语言编写的第三方库,基于 urllib,简单来说就是可以模拟HTTP请求来访问网页)

0x03 思路

.如果你学过以前的新手注入教程,应该知道在网址后面分别加入and 1=1和and 1=2是为了做什么,例如http://www.example.com/article.asp?id=1是一篇文章的链接,假如在其后面加入and 1=1后网页内容仍正常,而在后面加入and 1=2后网页内容发生了改变,那便十有八九是存在SQL注入漏洞。 使用Requests.get().headers方法,来实现我们的思路,通过HTTP头中的Content-Length字段来判断,若是and 1=1情况的Content-Length与原字段值一致,而and 1=2的情况与原字段值和and 1=1的值不同,则可判断。

0x04 代码

1 from requests import * 2 def SqlInject(url): 3 PayLoad = {'1':'and 1=1','2':'and 1=2') 4 situation = get(url).headers['Content-Length'] 5 situation1 = get(url+PayLoad[1]).headers['Content-Length'] 6 situation2 = get(url+PayLoad[2]).headers['Content-Length'] 7 if(situation==situation1)and(situation1 != situation2): 8 return True 9 else: 10 return False

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有