c++读取utf8文件_渗透测试——文件内容读取命令行工具

一 **** 命令行工具参数读取测试提取

def start():

if len(sys.argv)==7:

opts, args = getopt.getopt(sys.argv[1:], "u:t:d")

for k, vin opts:

if k=='-u':

url=v

elif k=='-t':

thread=v

elif k=='-d':

dic=v

print('url'+url)

print('thread'+thread)

print('dic'+dic)

else:

print('Error Argument!')

sys.exit()

start()

5d314a90417b53b1b1a0840a8e116ece.png

控制台输出显示

8905a2faf50f54396aa0a3b277335607.png
f902bef5f4f6b0049e02551c4e286702.png

二 ***** 字典文件的读取

8d25a98a553ca63aee9f48c1d167a891.png


dir.txt 文件中的内容

易烊千玺

张艺兴

周震南

李希侃

张颜齐

姚琛

刘宇忻

张歆艺

张予曦

张馨予

张涵予

张花花

张草草

黄永欣

华明杰

魔动闪霸

#函数判断参数长度并且进行输出 -u -t -d 的内容

def start():

if len(sys.argv)==7:

opts, args = getopt.getopt(sys.argv[1:], "u:t:d:")

for k, vin opts:

if k=='-u':

url=v

elif k=='-t':

thread=v

elif k=='-d':

dic=v

multi_args(url,thread,dic)

else:

print('Error Argument!')

sys.exit()

def multi_args(url,thread,dic):

result_list=[]

with open(dic,'r',encoding='utf8')as f:

read_lines=f.readlines()

#每个线程读取的行数

result=math.ceil(len(read_lines)/int(thread))

i=0

temp_list=[]

for linein read_lines:

i=i+1

if i%result==0:

result_list.append(temp_list)

temp_list=[]

else:

temp_list.append(line.strip())

print(result_list)

multi_args('http://127.0.0.1/',5,'dir.txt')

控制台输出结果

D:pythonmy_flaskScriptspython.exe D:/Flask项目设计/my_flask/ch1/tencent_test.py

[['易烊千玺', '张艺兴', '周震南'], ['张颜齐', '姚琛', '刘宇忻'], ['张予曦', '张馨予', '张涵予'], ['张草草', '黄永欣', '华明杰']]

三 ***** 线程操作

#函数判断参数长度并且进行输出 -u -t -d 的内容

def start():

if len(sys.argv)==7:

opts, args = getopt.getopt(sys.argv[1:], "u:t:d:")

for k, vin opts:

if k=='-u':

url=v

elif k=='-t':

thread=v

elif k=='-d':

dic=v

multi_args(url,thread,dic)

else:

print('Error Argument!')

sys.exit()

def multi_args(url,thread,dic):

result_list=[]

with open(dic,'r',encoding='utf8')as f:

read_lines=f.readlines()

#每个线程读取的行数

result=math.ceil(len(read_lines)/int(thread))

i=0

temp_list=[]

for linein read_lines:

i=i+1

if i%result==0:

result_list.append(temp_list)

temp_list=[]

else:

temp_list.append(line.strip())

print(result_list)

#循环遍历文档中的内容

for i in result_list:

#将线程追加到列表中

temp_list.append(threading.Thread(target=scan,args=(url,i)))

for tin temp_list:

t.start()

def scan(url,dic):

for line in dic:

r=requests.get(url+'/'+line)

if r.status_code==200:

print(r.url+' : '+str(r.status_code))

scan('http://127.0.0.1/','dir.txt')

控制台输出结果

860e591a6802b0d058d899adaede0ff5.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值