Bugku-秋名山老司机

题目:


秋名山老司机
# -*- coding:utf-8 -*-
import re
import requests

s = requests.Session()
r = s.get("http://120.24.86.145:8002/qiumingshan/")

searchObj = re.search(r'^<div>(.*)=\?;</div>$', r.text, re.M | re.S)
d = {"value": eval(searchObj.group(1))}
r = s.post("http://120.24.86.145:8002/qiumingshan/", data=d)

print (r.text)

以上代码在python3 下能顺利运行,多试几次就能得到flag。也可以写个循环,如下:

import re
import requests

while(True):
    s = requests.Session()
    r = s.get("http://120.24.86.145:8002/qiumingshan/")

    searchObj = re.search(r'^<div>(.*)=\?;</div>$', r.text, re.M | re.S)
    d = {"value": eval(searchObj.group(1))}
    r = s.post("http://120.24.86.145:8002/qiumingshan/", data=d)

    print (r.text)
    
    if r.text.strip():
        break
python3运行结果

现在考虑用python2.7 运行代码,会遇到编码问题,调整如下:

# -*- coding:utf-8 -*-
import re
import requests

while(True):
    s = requests.Session()
    r = s.get("http://120.24.86.145:8002/qiumingshan/")

    searchObj = re.search(r'^<div>(.*)=\?;</div>$', r.text, re.M | re.S)
    d = {"value": eval(searchObj.group(1))}
    r = s.post("http://120.24.86.145:8002/qiumingshan/", data=d)
    flag = r.text

    print flag.encode('utf-8')
    
    if flag.strip():
        break
Python2.7运行结果

考虑一个问题,关于最后输出结果的编码问题,如何解决呢?python新手,求指教。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容