Skip to content

Commit

Permalink
LPS-140715 Test for instanceId XSS
Browse files Browse the repository at this point in the history
  • Loading branch information
ces-binhtran authored and brianchandotcom committed Nov 8, 2021
1 parent 9f43c80 commit 015e5a1
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,55 @@ public void testDeserializationWithEmptyFields() throws Exception {
Assert.assertEquals("[]", value.getString(value.getDefaultLocale()));
}

@Test
public void testDeserializationWithInvalidInstanceId() throws Exception {
String serializedDDMFormValues = read(
"ddm-form-values-json-deserializer-invalid-instance-id.json");

DDMFormValues ddmFormValues = deserialize(
serializedDDMFormValues, DDMFormTestUtil.createDDMForm());

Map<String, List<DDMFormFieldValue>> ddmFormFieldValuesMap =
ddmFormValues.getDDMFormFieldValuesMap();

Assert.assertEquals(
ddmFormFieldValuesMap.toString(), 4, ddmFormFieldValuesMap.size());

List<DDMFormFieldValue> ddmFormFieldValues = ddmFormFieldValuesMap.get(
"Text1");

DDMFormFieldValue ddmFormFieldValue = ddmFormFieldValues.get(0);

Assert.assertNotEquals(
ddmFormFieldValues.toString(),
"<script>alert(document.location)</script>",
ddmFormFieldValue.getInstanceId());

ddmFormFieldValues = ddmFormFieldValuesMap.get("Text2");

ddmFormFieldValue = ddmFormFieldValues.get(0);

Assert.assertNotEquals(
ddmFormFieldValues.toString(), "^%&214214JDJ",
ddmFormFieldValue.getInstanceId());

ddmFormFieldValues = ddmFormFieldValuesMap.get("Select1");

ddmFormFieldValue = ddmFormFieldValues.get(0);

Assert.assertEquals(
ddmFormFieldValues.toString(), "yhar",
ddmFormFieldValue.getInstanceId());

ddmFormFieldValues = ddmFormFieldValuesMap.get("Select2");

ddmFormFieldValue = ddmFormFieldValues.get(0);

Assert.assertEquals(
ddmFormFieldValues.toString(), "yhKiArYe",
ddmFormFieldValue.getInstanceId());
}

@Test
public void testDeserializationWithParentRepeatableField()
throws Exception {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"availableLanguageIds": [
"en_US"
],
"defaultLanguageId": "en_US",
"fieldValues": [
{
"instanceId": "<script>alert(document.location)</script>",
"name": "Text1",
"value": ""
},
{
"instanceId": "^%&214214JDJ",
"name": "Text2",
"value": ""
},
{
"instanceId": "yhar",
"name": "Select1",
"value": {
"en_US": "[]"
}
},
{
"instanceId": "yhKiArYe",
"name": "Select2",
"value": {
"en_US": "[]"
}
}
]
}

0 comments on commit 015e5a1

Please sign in to comment.