网络信息安全攻防平台脚本关
第2题 快速口算
写python代码解决(eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。)
方法一:
import requests
#导入requests模块,(requests是python的第三方库,要事先安装)
url='http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
s=requests.Session()
r=s.get(url)
res=r.content
#获取网页内容
a=res.find(b'<br/>')
b=res.find(b'=',a)
#找到我们要计算的式子的前后位置
num=res[a+7:b]
#将计算式赋值给一个变量
r=s.post(url,data={'v':eval(num)})
#eval():计算num的值,
print(r.content)
方法二:
。。正则还是不太懂,以后再搞搞
import re #正则模块
import requests
s = requests.Session()
url = 'http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url)
r.encoding = 'utf-8' #修改编码
num = re.findall(re.compile(r'<br/>\s+(.*?)='), r.text)[0] #正则表达式找到算术式
print ('result:\n\n%s=%d\n' % (num, eval(num))) #输出算术式计算结果
r = s.post(url, data={'v': eval(num)}) #将结果提交 抓包可看出要用v提交
print (r.text) #输出返回结果
4怎么就是不弹出key呢?
题目描述
解题思路
1、看题,觉得应该是js的题,打开果然不出所料,
2、查看源代码
复制源代码保存为html文件
看到前面几行三个非常显眼的return false,就直接复制下来,改成ture,本地跑,结果还不对,仔细一看,那三个函数一点用都没,都被a()覆盖了,所以删掉
3、弹出弹窗