Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eb54520

Browse files
committed
Python: Show that reflected XSS works now
Also did autoformatting, but the important part is the change to the .expected file
1 parent d2cfa91 commit eb54520

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
edges
2+
| reflected_xss.py:8:18:8:29 | ControlFlowNode for Attribute | reflected_xss.py:9:26:9:53 | ControlFlowNode for BinaryExpr |
23
nodes
4+
| reflected_xss.py:8:18:8:29 | ControlFlowNode for Attribute | semmle.label | ControlFlowNode for Attribute |
5+
| reflected_xss.py:9:26:9:53 | ControlFlowNode for BinaryExpr | semmle.label | ControlFlowNode for BinaryExpr |
36
#select
7+
| reflected_xss.py:9:26:9:53 | ControlFlowNode for BinaryExpr | reflected_xss.py:8:18:8:29 | ControlFlowNode for Attribute | reflected_xss.py:9:26:9:53 | ControlFlowNode for BinaryExpr | Cross-site scripting vulnerability due to $@. | reflected_xss.py:8:18:8:29 | ControlFlowNode for Attribute | a user-provided value |

python/ql/test/experimental/query-tests/Security-new-dataflow/CWE-079/reflected_xss.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
app = Flask(__name__)
44

5-
@app.route('/unsafe')
5+
6+
@app.route("/unsafe")
67
def unsafe():
7-
first_name = request.args.get('name', '')
8-
return make_response("Your name is " + first_name)
8+
first_name = request.args.get("name", "")
9+
return make_response("Your name is " + first_name) # NOT OK
10+
911

10-
@app.route('/safe')
12+
@app.route("/safe")
1113
def safe():
12-
first_name = request.args.get('name', '')
13-
return make_response("Your name is " + escape(first_name))
14+
first_name = request.args.get("name", "")
15+
return make_response("Your name is " + escape(first_name)) # OK

0 commit comments

Comments
 (0)