python代码审计基础语法

前言

最近做到一题python代码审计的题目,但是总觉得有点力不从心,大概是掌握的还不够扎实,故决定整理一下遇到的一语法知识

语法基础

路由

所谓路由,**就是处理请求URL和函数之间关系的程序**
Flask中也是对URL规则进行统一管理的,创建URL规则有两种方式:

1.使用@app.route修饰器,并传入URL规则作为参数,将函数绑定到URL,这个过程便将一个函数注册为路由,这个函数则被称为视图函数。

2.使用app.add_url_rule()。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@app.route("/geneSign", methods=['GET', 'POST'])
def geneSign():
param = urllib.unquote(request.args.get("param", ""))
action = "scan"
#这里进行和秘钥的拼接后md5的加密传回值
return getSign(action, param)

@app.route('/De1ta',methods=['GET','POST'])
def challenge():
action = urllib.unquote(request.cookies.get("action"))
param = urllib.unquote(request.args.get("param", ""))
#这里是从cookie传回sign
sign = urllib.unquote(request.cookies.get("sign"))
ip = request.remote_addr
#有个waf
if(waf(param)):
return "No Hacker!!!!"
task = Task(action, param, sign, ip)
return json.dumps(task.Exec())
@app.route('/')

这段代码意味着这个网址有三个页面一个是/geneSign 一个是/De1ta 另一个就是/根目录,每一个路由都是一个新的起点

Author

vague huang

Posted on

2021-04-09

Updated on

2021-04-09

Licensed under

Comments