Sqlmap自动切换代理

大家经常可能遇到,用sqlmap跑某些注入的时候,因为网络、waf等问题造成被拦截、跑失败等情况。

因此下面这个脚本可以做到sqlmap自动切换代理,防止被ban。

使用教程如下

1、在ips.txt中存入可用的代理,格式如下

1.1.1.1:1080

2.2.2.2:9988

3.3.3.3:1100

2、运行脚本

python sqlmap_auto_proxy.py

3、sqlmap设置代理

sqlmap -u "?id=inject" --proxy=:50007

即可在跑注入时,自动切换代理。

部分代码如下

def tcp_mapping_request(local_conn, remote_ip, remote_port):while True:remote_conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:remote_conn.settimeout(3)remote_conn.connect((remote_ip, remote_port))except Exception:logger.error(Unable to connect to the remote server.)continuethreading.Thread(target=tcp_mapping_worker, args=(local_conn, remote_conn)).start()threading.Thread(target=tcp_mapping_worker, args=(remote_conn, local_conn)).start()returndef tcp_mapping_worker(conn_receiver, conn_sender):while True:try:data = conn_receiver.recv(PKT_BUFF_SIZE)except Exception:logger.debug(Connection closed.)breakif not data:logger.info(No more data is received.)breaktry:conn_sender.sendall(data)except Exception:logger.error(Failed sending data.)break

脚本地址:

凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数