Bugku-Web18

发布时间 2023-08-30 09:02:01作者: KAKSKY

images

images

images

尝试提交之后还是发现这个样子,没有东西显示出来

看了别人的脚本之后也不是很懂这个flag是怎么打印出来的,但是确实可以实现;;

import requests # 引入request库
import re       # 引入re库
 
url = '''http://123.206.87.240:8002/qiumingshan/'''
s = requests.session()  # 用session会话保持表达式
retuen = s.get(url)
 
equation = re.search(r'(\d+[+\-*])+(\d+)',retuen.text).group()
result = eval(equation) # eval()函数用来执行一个字符串表达式,并返回表达式的值。
 
key = {'value':result} # 创建一个字典类型用于传参
flag = s.post(url,data=key) # 用post方法传上去
 
print(flag.text)
import re
import requests
url = 'http://114.67.246.176:15265/'
session = requests.session()
s = re.findall('<div>([0-9+*-]*)?',session.get(url).text)
print("s的值:",s)
print("s[0]的值:",s[0])
d = eval(s[0])
# 由于一开始网页源代码并没有给往什么值去传,先设为空看看结果
# value = {"":d}
# 运行后提示往“value”里做post处理
value = {"value":d}
f = session.post(url,value)
print("\n",f.text)
import requests
from lxml import etree

'''
eval():将字符串str当成有效的表达式来求值并返回计算结果
'''
url = 'http://123.206.87.240:8002/qiumingshan/'
response = requests.session()
re = response.get(url=url).content.decode('utf-8')
elements = etree.HTML(re).xpath('//div/text()')[0][0:-3]
result = eval(elements)
print(result,'\n')
data = {
    'value':result
}
flag = response.post(url=url,data=data).content.decode('utf-8')
# flag_x = etree.HTML(flag)
# # print(etree.tostring(flag_x,encoding='utf-8').decode('utf-8'))
print(flag)