sqlmap被ban了ip怎么办

sqlmap被ban了ip怎么办

第一种办法

好不容易挖到的注入点,结果总是因为请求速度过快被ban掉ip,我觉得可以给sqlmap加个代理池!暑假前的想法,今天花了一个下午,终于实现了。原来是准备直接改源码的。但是被一个群里的大佬一语点醒,sqlmap有–proxy参数的。我可以代理本地,然后通过中间服务器来代理ip!也就是类似SS的方式。

打包exe下载链接:

http://pan.baidu.com/s/1c2J9JiS 密码:9x6g

py脚本形式下载链接:

http://pan.baidu.com/s/1eRHT9nG 密码:311e

到时候扔到cmd里面运行就可以了

使用方法:

使用Python运行脚本,然后sqlmap中命令加入参数

--proxy=http://127.0.0.1:9999

脚本同目录下,

ips.txt中以ip:port的格式放入已验证的多个ip。即可使用sqlmap的代理池拓展脚本。

实现代码如下:


#!/usr/bin/env python
# -*- coding: utf-8 -*-


import socket
from socket import error
import threading
import random
import time


localtime = time.asctime( time.localtime(time.time()) )


class ProxyServerTest():
    def __init__(self,proxyip):
        #本地socket服务
        self.ser=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        self.proxyip = proxyip


    def run(self):
        try:
            #本地服务IP和端口
            self.ser.bind(('127.0.0.1', 9999))
            #最大连接数
            self.ser.listen(5)
        except error as e:
            print("[-]The local service : "+str(e))
            return "[-]The local service : "+str(e)
        while True:
            try :
                #接收客户端数据
                client,addr=self.ser.accept()
                print ('[*]accept %s connect'%(addr,))
                data=client.recv(1024)
                if not data:
                    break
                print ('[*'+localtime+']: Accept data...')
            except error as e:
                print("[-]Local receiving client : "+str(e))
                return "[-]Local receiving client : "+str(e)
            while True:
                    #目标代理服务器,将客户端接收数据转发给代理服务器
                    mbsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                    iplen = len(self.proxyip)      
                    proxyip = self.proxyip[random.randint(0,iplen-1)]
                    print("[!]Now proxy ip:"+str(proxyip))
                    prip = proxyip[0]
                    prpo= proxyip[1]
                    try:
                        mbsocket.settimeout(3)
                        mbsocket.connect((prip, prpo))
                    except:
                        print("[-]RE_Connect...")
                        continue
                    break
 #                   except :
 #                       print("[-]Connect failed,change proxy ip now...")
  #                      pass
            try:    
                mbsocket.send(data)
            except error as e:
                print("[-]Sent to the proxy server : "+str(e))
                return "[-]Sent to the proxy server : "+str(e)
 
            while True:
                try:
                    #从代理服务器接收数据,然后转发回客户端
                    data_1 = mbsocket.recv(1024)
                    if not data_1:
                        break
                    print ('[*'+localtime+']: Send data...')
                    client.send(data_1)
                except socket.timeout as e:
                    print(proxyip)
                    print("[-]Back to the client : "+str(e))
                    continue
            #关闭连接
            client.close()
            mbsocket.close()


def Loadips():
    print("[*]Loading proxy ips..")
    ip_list = []
    ip = ['ip','port']
    with open("ips.txt") as ips:
        lines = ips.readlines()
    for line in lines:
        ip[0],ip[1] = line.strip().split(":")
        ip[1] = eval(ip[1])
        nip = tuple(ip)
        ip_list.append(nip)
    return ip_list
 
def main():
    print('''*Atuhor : V@1n3R.
*Blog :http://www.Lz1y.cn
*date: 2017.7.17
*http://www.Lz1y.cn/wordpress/?p=643
 
 
 
 


 
                         __     __    _       _____ ____    
                         \ \   / /_ _/ |_ __ |___ /|  _ \   
                          \ \ / / _` | | '_ \  |_ \| |_) |  
                           \ V / (_| | | | | |___) |  _ < _ 
                            \_/ \__,_|_|_| |_|____/|_| \_(_) 
 
 
 
 
 
 
 
    ''')
    ip_list = Loadips()    
 #   ip_list = [('118.89.148.92',8088)]
 #   ip_list = tuple(ip_list)
    try:
        pst = ProxyServerTest(ip_list)
        #多线程
        t = threading.Thread(target=pst.run, name='LoopThread')
        print ('[*]Waiting for connection...')
        #关闭多线程
        t.start()
        t.join()
    except Exception as e:
        print("[-]main : "+str(e))
        return "[-]main : "+str(e)


if __name__ == '__main__':
    main()




实测效果图

先开启python脚本,等待连接

回车输入之后就会去调用这个代理池的ip

第二种办法

使用proxifier全局代理,不过也要先去抓取一些socket免费代理ip 这边给上一张效果图,流量走了代理,这样一直使用代理池可以让sqlmap不怕被ban掉IP

原文发布于微信公众号 - 网络安全社区悦信安(yuexin_an)

原文发表时间:2018-03-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

多线程爬取斗图网站,赶紧上车

專 欄 ? ❈致Great,Python中文社区专栏作者 博客: http://www.jianshu.com/u/261e23a40f71 ❈ 最近看了Py...

23510
来自专栏龙首琴剑庐

Python之多线程爬虫抓取网页图片

目标 嗯,我们知道搜索或浏览网站时会有很多精美、漂亮的图片。 我们下载的时候,得鼠标一个个下载,而且还翻页。 那么,有没有一种方法,可以使用非人工方式自动识别并...

4695
来自专栏Greenplum

Linux 常用命令(三)

curl 命令支持在线下载功能,使用方便,它支持,S,等协议,还支持PUT,POST,COOKIES,认证授权等操作。

2230
来自专栏Zachary46

Python爬取qq空间说说

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invi...

1733
来自专栏刘望舒

Android开发的几个插件和工具,提升你的开发效率

对于一个Android开发,面对以下问题会非常痛苦。 重复的findById。 将复杂的Json字符串,解析成javaBean。 调试接口的时候打断点十分麻烦。...

3349
来自专栏有趣的Python和你

python爬虫之微打赏(scrapy版)创建项目itemssettingsweidashangspider保存为csv文件

1594
来自专栏我是攻城师

深入理解Java8并发工具类StampedLock

StampedLock类是JDK8里面新增的一个并发工具类,这个类比较特殊,在此之前我们先简单的了解一下关于数据库或者存储系统的锁策略和机制。

1632
来自专栏Java学习网

Java 并发包中的读写锁及其实现分析

Java 并发包中的读写锁及其实现分析 1. 前言 在Java并发包中常用的锁(如:ReentrantLock),基本上都是排他锁,这些锁在同一时刻只允许一个线...

3494
来自专栏java一日一条

Java 并发包中的读写锁及其实现分析

在Java并发包中常用的锁(如:ReentrantLock),基本上都是排他锁,这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时 刻可以允许多个读线程访...

722
来自专栏菩提树下的杨过

FluorineFx:认证与授权

对认证与授权没啥概念的新同学,建议先看下 .net中的认证(authentication)与授权(authorization),然后再继续。 Flash/Fle...

2558

扫码关注云+社区

领取腾讯云代金券