Rasmus Wriedt Larsen
54246660c6
Python: Add test-case to password_in_cookie
2019-11-12 10:36:12 +01:00
Rasmus Wriedt Larsen
8476bc7d42
Python: correctly handle flask.make_response
...
Fixes https://github.com/Semmle/ql/issues/1572
Adjust mock so it's more aligned with what the flask code actually does. Tests
were passing before, even though we didn't handle the case in real code :\
2019-11-11 17:24:36 +01:00
Rasmus Wriedt Larsen
9151a7e433
Python: Always enable legacy taint tracking configuration
...
If the legacy configuration is only enabled if there are no other
configurations, defining a configuration in an imported library can lead to
unwanted results. For example, code that uses `any(MyTaintKind t).taints(node)`
would *stop* working, if it did not define its own configuration. (this actually
happened to us)
We performed a dist-compare to ensure there is not a performance deg ration by
doing this. Results at https://git.semmle.com/gist/rasmuswl/a1eca07f3a92f5f65ee78d733e5d260e
Tests that were affected by this:
- RockPaperScissors + Simple: new edges because no configuration was defined for
SqlInjectionTaint or CommandInjectionTaint
- CleartextLogging + CleartextStorage: new edges because no configuration was
defined before, AND duplicate deges.
- TestNode: new edges because no configuration was defined before
- PathInjection: Duplicate edges
- TarSlip: Duplicate edges
- CommandInjection: Duplicate edges
- ReflectedXss: Duplicate edges
- SqlInjection: Duplicate edges
- CodeInjection: Duplicate edges
- StackTraceExposure: Duplicate edges
- UnsafeDeserialization: Duplicate edges
- UrlRedirect: Duplicate edges
2019-11-11 11:17:21 +01:00
Rasmus Wriedt Larsen
fc851b46c3
Python: Fix Django class-based views
2019-10-29 13:58:07 +01:00
Rasmus Wriedt Larsen
fb864b7262
Python: Consolidate tests for django
...
The tests in 3/ was not Python 3 specific anymore
2019-10-29 13:58:07 +01:00
Rasmus Wriedt Larsen
471318369b
Python: Don't quote %s in django example
...
This is vulnerable to SQL injection because of the quotes around %s -- added
some code that highlights this in test.py
Since our examples did this in the safe query, I ended up rewriting them
completely, causing a lot of trouble for myself :D
2019-10-29 13:58:07 +01:00
Rasmus Wriedt Larsen
bc50e90f5b
Python: Use mock for tornado tests
2019-10-24 15:01:40 +02:00
Rasmus Wriedt Larsen
2874c54133
Python: Move pyramid tests from internal repo
...
Use minimal mock instead of full library
2019-10-23 16:28:46 +02:00
AlexTereshenkov
3e6f8fb6be
Add bind-socket-all-network-interfaces Python query ( #2048 )
...
Add bind-socket-all-network-interfaces Python query
2019-10-03 11:23:11 +01:00
Rasmus Wriedt Larsen
12c49031e8
Python: Modernise bottle library
2019-09-26 15:03:47 +02:00
Mark Shannon
3f740d6efe
Python: Update CWE-312 queries to use new taint-tracking configuration.
2019-08-30 11:21:04 +01:00
Mark Shannon
811815aa4e
Merge branch 'master' into python-cwe-312
2019-08-30 10:39:04 +01:00
Mark Shannon
e5900921e7
Python taint-tracking: Remove warnings from test output.
2019-08-29 10:31:50 +01:00
Mark Shannon
d31e55f88e
Python taint-tracking: Avoid ambiguous flows through calls. Fix up tests.
2019-08-29 10:31:50 +01:00
Mark Shannon
78ce19678a
Python taint-tracking: Fix up SQL injection query.
2019-08-29 10:31:50 +01:00
Mark Shannon
7c4a18eee3
Python taint-tracking: Fix up handling of legacy (config-less) taint-tracking
2019-08-29 10:31:50 +01:00
Mark Shannon
2d9d292ee4
Python: Fix up pi-node handling in taint-tracking.
2019-08-29 10:31:50 +01:00
Mark Shannon
8909c3d6ab
Python: Fix tags and message for CWE-312 queries.
2019-08-23 15:20:19 +01:00
Mark Shannon
4759044ee4
Python tests: Fix up tests for CWE-312 to not use external locations.
2019-08-22 15:27:49 +01:00
Mark Shannon
9df205b288
Python tests: Fix up CWE-327 tests to use new sensitive-data library.
2019-08-22 15:27:48 +01:00
Mark Shannon
816938369e
Python: Add tests for clear-text storage and logging.
2019-08-22 15:27:48 +01:00
Mark Shannon
453ae19881
Python points-to: Add .getAstNode() method to TaintedNode for forward compatibility with upcoming taint-tracking enhancements.
2019-08-16 09:54:11 +01:00
Mark Shannon
6bd5158f9e
Python taint-tracking: Remove 'parents' query from path-queries, as it unused by the tooling.
2019-08-08 10:15:06 +01:00
Mark Shannon
fab2cb5a32
Python: Add missing function to flask test stub.
2019-08-01 13:11:41 +01:00
Mark Shannon
2c5b1c0810
Fix semantic merge conflict between #1470 and #1487 .
2019-07-15 15:34:00 +01:00
Mark Shannon
39b7a69abd
Python: Tarslip query: Fix up sanitizers.
2019-06-19 15:00:02 +01:00
Mark Shannon
6f15c84bdc
Python: Tarslip query; Add sink for members and sanitizers for tarinfo objects.
2019-06-19 11:48:31 +01:00
Mark Shannon
e14f7ef466
Python: Tarslip query; track info objects and handle sanitization.
2019-06-19 11:48:31 +01:00
Mark Shannon
ea4e263060
Python: Initial version and help of tar-slip (CWE-022) query.
2019-06-19 11:48:31 +01:00
Mark Shannon
918bdecba5
Python: Don't record taint past sinks.
2019-06-18 16:34:23 +01:00
Mark Shannon
65a30ab392
Adjust a couple of query tests to work with latest points-to.
2019-04-29 14:28:51 +01:00
Mark Shannon
90bbfd3b16
Python: Add library tests for django.
2019-04-26 16:21:46 +01:00
Mark Shannon
4a03fd03cd
Update test to reflect new true positive.
2019-04-26 16:21:46 +01:00
Mark Shannon
28799441af
Python: Fix false positive in 'Incomplete URL substring sanitization' query.
2019-04-25 18:11:01 +01:00
Mark Shannon
2ba122373a
Merge pull request #1128 from taus-semmle/python-paramiko-unsafe-host-key-validation
...
Python: Add query for insecure SSH host key policies in Paramiko.
2019-04-04 16:57:13 +01:00
Taus Brock-Nannestad
5eb63ae048
Fix false positive and add test.
2019-03-21 14:10:05 +01:00
Taus Brock-Nannestad
9cb35a8ca9
Use correct named argument for ssl.SSLContext.
2019-03-21 14:09:25 +01:00
Taus Brock-Nannestad
c7c6c83627
Address review comments.
2019-03-19 15:44:11 +01:00
Taus Brock-Nannestad
52278b25d9
Python: Add query for insecure SSH host key policies in Paramiko.
2019-03-18 16:45:54 +01:00
Mark Shannon
38a5fb715a
Python: Avoid cross-talk between unrelated sources in py/stack-trace-exposure query.
2019-03-05 16:52:28 +00:00
Mark Shannon
6c82be8bda
Python: CherryPy web framework support -- requests.
2019-02-28 15:24:58 +00:00
Taus
b8b4216352
Merge pull request #979 from markshannon/python-falcon
...
Python: Add support for falcon web API framework.
2019-02-28 15:47:35 +01:00
Mark Shannon
f7d7b8eef2
Merge pull request #785 from taus-semmle/python-unsafe-use-of-mktemp
...
Python: Add query for unsafe use of `tempfile.mktemp`.
2019-02-27 15:01:06 +00:00
Mark Shannon
742c1d0fa7
Python: Add test skeleton for falcon web framework.
2019-02-27 09:53:20 +00:00
Taus Brock-Nannestad
e47b391329
Fix interpolation.
2019-02-26 16:27:04 +01:00
Taus Brock-Nannestad
7daaf77183
Make query alert refer to AST nodes rather than CFG nodes.
2019-02-26 15:56:37 +01:00
Taus Brock-Nannestad
8d774cd354
Merge branch 'master' into python-unsafe-use-of-mktemp
2019-02-26 13:23:38 +01:00
Mark Shannon
26c5ebde54
Python: Basic support for TurboGears: requests and responses.
2019-02-26 10:15:36 +00:00
Mark Shannon
aab0a243dc
Python: Add redirects to bottle framework support.
2019-02-12 14:26:06 +00:00
Mark Shannon
8d525e5295
Python: Add support for bottle framework routing and requests.
2019-02-12 14:26:06 +00:00