python入门解决简单的web题

本文介绍了Python初学者如何解决简单的Web题目,包括bugku的秋名山老司机、hackinglab的快速口算和cookies欺骗等挑战。通过代码示例展示了如何处理字符串、正则表达式和字典操作,以及利用burp获取flag的方法。
摘要由CSDN通过智能技术生成

姊妹篇:python入门解决简单的crypto题

好像题目链接有时会更新,如果链接挂了,可以去对应的平台找到相应题目。
题目:bugku-秋名山老司机

我的程序:

import requests
import re

s=requests.Session()
r=s.get("http://123.206.87.240:8002/qiumingshan/")
content=r.text
# print(r.text)
result=re.findall('<div>(.*?)\=\?;</div>',content,re.S)
# print(result)
# print(type(result))
for i in result:
	res=eval(i)
	# print(res)
data={
	'value':res
}
r2=s.post("http://123.206.87.240:8002/qiumingshan/",data=data)
print(r2.text)

网上的脚本一:

import requests
import re
url='http://123.206.87.240:8002/qiumingshan/'
r=requests.session()
requestpage = r.get(url)
# print(requestpage.text)
ans=re.findall('<div>(.*?)=?;</div>',requestpage.text)#获取表达式
ans="".join(ans)#列表转为字符串
# print(ans)
ans=ans[:-2]#去掉最后的=?
post=eval(ans)#计算表达式的值
data={'value':post}#构造post的data部分
fl=r.post(url,data=data)
print(fl.text)

这里他的=?忘记使用转义符,使得匹配到的式子多出两个字符,他使用ans[:-2]去掉了多余的字符。这里把列表转换成字符串 他使用join()函数,
用法:例如ex.join(str)
参数说明
ex:分隔符。可以为空(如本题)
str:要连接的元素序列、字符串、元组、字典
上面的语法即:以ex作为分隔符,将str所有的元素合并成一个新的字符串
返回值:返回一个以分隔符ex连接各个元素后生成的字符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值