@@ -34,23 +34,24 @@ class User(Base):
34
34
session .commit ()
35
35
36
36
# Injection without requiring the text() taint-step
37
- session .query (User ).filter_by (name = "some sql" ) # $getSql="some sql"
38
- session .scalar ("some sql" ) # $getSql="some sql"
39
- engine .scalar ("some sql" ) # $getSql="some sql"
40
- session .execute ("some sql" ) # $getSql="some sql"
37
+ session .query (User ).filter_by (name = "some sql" ) # $ MISSING: getSql="some sql"
38
+ session .scalar ("some sql" ) # $ getSql="some sql"
39
+ engine .scalar ("some sql" ) # $ getSql="some sql"
40
+ session .execute ("some sql" ) # $ getSql="some sql"
41
41
42
42
with engine .connect () as connection :
43
- connection .execute ("some sql" ) # $getSql="some sql"
43
+ connection .execute ("some sql" ) # $ getSql="some sql"
44
44
45
45
with engine .begin () as connection :
46
- connection .execute ("some sql" ) # $getSql="some sql"
46
+ connection .execute ("some sql" ) # $ getSql="some sql"
47
47
48
48
# Injection requiring the text() taint-step
49
- session .query (User ).filter (text ("some sql" )) # $getSql="some sql"
50
- session .query (User ).group_by ( User .id ).having (text ("some sql" )) # $getSql="some sql"
51
- session .query (User ).group_by (text ("name='some sql'" )).first () # $getSql="some sql"
52
- session .query (User ).order_by (text ("name='some sql'" )).first () # $getSql="some sql"
49
+ t = text ("some sql" )
50
+ session .query (User ).filter (t ) # $ getSql=t
51
+ session .query (User ).group_by (User .id ).having (t ) # $ getSql=Attribute MISSING: getSql=t
52
+ session .query (User ).group_by (t ).first () # $ getSql=t
53
+ session .query (User ).order_by (t ).first () # $ getSql=t
53
54
54
- query = select (User ).where (User .name == text ( "some sql" )) # $getSql="some sql"
55
+ query = select (User ).where (User .name == t ) # $ MISSING: getSql=t
55
56
with engine .connect () as conn :
56
- conn .execute (query )
57
+ conn .execute (query ) # $ getSql=query
0 commit comments