日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqlmap代理池_sqlmap +外部代理池绕过IP拦截

發布時間:2025/3/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlmap代理池_sqlmap +外部代理池绕过IP拦截 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0x00:前言

一,基于前面寫過給“掃描目錄+ N多代理”,這次給sqlmap加一個代理池。用處就是在跑sqlamp注入的時候,防止被ban掉IP。

二,這個想法是很久之前就有了,只不過這次是自己的研究一下原理結合網上公開的腳本,并用Python寫出來的。這次沒有創新的知識,純當做是練習python腳本的編寫。

0x01:思路

1.先爬取代理網站的代理IP,然后做一下驗證,驗證是否可用并輸出到文本里。

2.啟用本地代理127.0.0.1:5320(5320=我想愛你)

3.sqlmap加上代理“--proxy = http://127.0.0.1:5320”

0x02:過程

一,獲取代理IP

import requests,re

url="http://www.89ip.cn/tqdl.html?api=1&num=10"#采用89ip的接口采集

types="https"

proxys={}

#print (url)

headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/12.0 Safari/1200.1.25'}

r=requests.get(url,headers=headers).text

ip=re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", r)#正則匹配出IP與端口

port=re.findall("(:\d{1,5})", r)#正則匹配出IP與端口

for i,j in zip(port[2:],ip):

print (j+i)

二,驗證代理IP并輸出到文本

我們來回憶上次提到的Python中代理的編寫規則

proxy={'協議':'ip:端口'}

編寫格式:

tar=requests.get(url,headers=headers,proxies=proxy,timeout=5,verify=False)

獲取IP +驗證代理

#/usr/bin/python3

#author:Jaky

import requests,re

url="http://www.89ip.cn/tqdl.html?api=1&num=9000"#采用89ip的接口采集

types="https"

proxys={}

headers={'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)'}

r=requests.get(url,headers=headers).text

ip=re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", r)#正則匹配出IP與端口

port=re.findall("(:\d{1,5})", r)#正則匹配出IP與端口

for i,j in zip(port[2:],ip):

proxy=j+i

print (proxy)

proxys[types.lower()]='%s'%proxy

try:

tar=requests.get("https://ifconfig.me/ip",headers=headers,proxies=proxys,timeout=5,verify=False).text

if tar in str(proxys):

with open("ip.txt",'a') as file: file.write(proxy+'\n') # 保存文件

except :

pass

我這里直接采集9000個+驗證

同時輸出結果到“ ip.txt”

三,完整代碼

#!/usr/bin/env python3

# coding:utf-8

import socket,time,random,threading,requests,re

from socket import error

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', 5320))

# 最大連接數

self.ser.listen(10)

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)

print("[!]Now proxy ip:" + str(self.proxyip))

prip = self.proxyip[0]

prpo = self.proxyip[1]

try:

mbsocket.settimeout(3)

mbsocket.connect((prip, prpo))

except:

print("[-]RE_Connect...")

continue

break

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(self. proxyip)

print("[-]Back to the client : " + str(e))

continue

# 關閉連接

client.close()

mbsocket.close()

def main():

print('Atuhor:Jaky')

print('WeChat public number:luomiweixiong')

file = open("ip.txt","r")

for i in file:

ip = i.split(':')

ip_list = (ip[0],int(ip[1]))

print(ip_list)

try:

try_ip = ProxyServerTest(ip_list)

except Exception as e:

print("[-]main : " + str(e))

return "[-]main : " + str(e)

t = threading.Thread(target=try_ip.run, name='LoveJaky')

print('[*]Waiting for connection...')

# 關閉多線程

t.start()

t.join()

if __name__ == '__main__':

main()

0x03:總結

1,使用之前得先爬取代理IP,驗證完然后會自動保存在“ ip.txt”里

2,執行以上代碼,然后

sqlmap.py -u "http://www.xxx.com/1.asp?id=1" --proxy=http://127.0.0.1:5320

注:本文轉自微信公眾號‘?洛米唯熊’,如有侵權立即刪除。

總結

以上是生活随笔為你收集整理的sqlmap代理池_sqlmap +外部代理池绕过IP拦截的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。