Website errors can be a real test of patience. One common culprit is the 502 bad gateway error. Known for its ubiquity across the web, it doesn’t discriminate between small WordPress sites or well-known services like Gmail, Twitter, or Instagram.
You may encounter a 502 Bad Gateway error when a server upstream (i.e. one closer to the website than the client’s end) either fails to receive a valid response from another server or encounters an issue while trying to fulfill a request. Although these errors are generally related to server-side issues, in some cases, they can be triggered by problems with internet connections or website elements stored on your browser.
In this article, we will dive into the nature of a 502 Bad Gateway error and its possible triggers. We’ll also provide a systematic approach to diagnosing and fixing the error to keep your website up and running.
Contents:
- What is a 502 Bad Gateway error?
- How does a 502 error differ from other 5xx errors?
- What triggers a 502 error?
- Can a 502 error impact SEO?
- How to fix a 502 error
What is a 502 Bad Gateway error?
A 502 Bad Gateway error is a server-side error that indicates one server, acting as a gateway or proxy, received an invalid response from another server upstream. This usually happens when a server (for example, a website’s host or CDN provider) is unable to forward the client’s request correctly.
502 Bad Gateway errors can present in an assortment of ways. Some of the common variations include:
- HTTP 502
- Error 502
- 502 Bad Gateway
- 502 Service Temporarily Overloaded
- HTTP Error 502 – Bad Gateway
- 502 Proxy Error
- 502 Server Error: The server encountered a temporary error and could not complete your request
- Temporary Error (502)
- 502. That’s an error
These are just a few examples of messages you might encounter with a 502 error. Many systems and website hosts even have their own custom error messages for 502.
How are 502 errors different from other 5xx errors?
To provide a clearer understanding of the differences between a 502 error and other types of server-side errors, we’ve compiled an overview of usual 5xx responses you might come across on your website.
| Server Error | Description |
| 500: Internal Server Error | This is a general catch-all error when no specific message is suitable. |
| 501: Not Implemented | The server doesn’t support the functionality required for the request. |
| 502: Bad Gateway | One server received an invalid response from another, upstream server. |
| 503: Service Unavailable | The server can’t handle the request, usually due to being overloaded. |
| 504: Gateway Timeout | One server didn’t receive a prompt answer from another server that it was accessing while attempting to load the web page. |
| 505: HTTP Version Not Supported | The server does not support the HTTP protocol version used in the request. |
| 507: Insufficient Storage | The server is unable to store the data needed to complete the request. |
| 508: Loop Detected | The server detected an infinite loop while processing a request with “Depth: infinity”. |
| 511: Network Authentication Required | The client needs to authenticate to gain network access; mainly used by network proxies. |
Each of these server-side errors provides specific information that can help you diagnose the problem and find a solution accordingly.
What triggers a 502 Bad Gateway error?
A 502 Bad Gateway error can occur for various reasons, such as problems with server configurations, network issues, problematic plugins or third-party applications, or firewall setup.
These issues are known to result in a 502 error:
- Unstable server. If the server takes too long to respond due to heavy loads or disturbances, a 502 error can occur.
- Network problems. Internet connectivity issues or difficulties connecting to an upstream server may result in a 502 error.
- Faulty programming. Errors in website code or configurations can often lead to a 502 error.
- Plugin conflicts. If a plugin in WordPress is incorrectly configured, conflicts with other plugins, or is compromised by malware, this can lead to 502 errors.
- Proxy server issues. Problems with proxy servers can result in a 502 bad gateway error.
- Firewall configuration issues. Your firewall could be erroneously identifying threats and consequently blocking certain internet service providers or IP addresses.
- Server software timeouts. If the server software doesn’t receive a timely response from an upstream server it refers to, this can trigger a 502 error.
- Incorrect DNS settings. If the domain name’s DNS records are incorrectly assigned, a 502 error may arise.
- Server capacity reached. The server may exhaust its available resources and crash, prompting a 502 error message. This could happen due to an unexpected surge in web traffic or constrained memory capacity.
- Issues with your browser. It’s possible that there might be corrupted files within your browser cache that are causing problems.
A 502 error creates problems by displaying a bad gateway message to users when they attempt to access specific areas of a website. This typically occurs when the server, acting as a gateway or proxy, receives an invalid response from an upstream server.
Can a 502 error impact SEO?
Yes – a persisting 502 error can negatively influence SEO if left unresolved. If a short downtime of say, 10 minutes occurs, and frequent crawling is happening, the crawler often retrieves the page from cache. In instances where Google hasn’t yet got the opportunity to re-crawl before the site is restored, your SEO is typically unaffected.
Nevertheless, if your site experiences extended downtime, such as over 12 hours, Google might perceive the persisting 502 error as a site issue needing resolution. This could unfavorably affect your rankings over time.
If recurring 502 errors concern you, it’s crucial to understand why they’re happening in the first place. Some of the subsequent solutions provided can help to troubleshoot and fix the issue.
How to fix a 502 error
A 502 bad gateway error often signals a network or server problem, but it can also be due to a client-side issue. Let’s explore various ways to fix this error and get your website running again.
1. Reload the web page
This is the most straightforward method to deal with a 502 bad gateway error. If your server or host is bombarded with simultaneous requests, it might temporarily be unable to handle the load, causing the error.
Reloading the page is as simple as clicking the “Refresh” button on your web browser or pushing the F5 key on your keyboard (for Windows users), or Cmd + R (for Mac users). Alternatively, some users prefer doing a hard refresh, which you can perform by hitting Ctrl + F5 (Windows) or Cmd + Shift + R (Mac).
Performing a hard refresh ignores cached content and forces the browser to reload the fresh page from the server. This process might take longer but could be more effective in bypassing the error.
When you receive a 502 bad gateway error, the issue might not be with your site directly. Instead, it could be a result of server overload. By waiting a few moments and then attempting to reload your page, you give the server time to catch up with all its ongoing requests.
However, if you’re continuously encountering a 502 error even after repeated attempts at reloading, it implies a deeper issue and you may need to move on to the next troubleshooting steps.
2. Assess the site’s status
When facing a 502 error, the issue can either be localized to your device or network, or it might be that the website or server itself is down. To differentiate between the two, you can use online tools that evaluate whether a website is actually experiencing issues.
One popular tool is https://geopeeker.com/. To use this tool, copy the URL of the website you are trying to access and paste it into the search box. Then, hit Go!
This tool then checks the site from various geographical locations to determine if the website is down universally or the problem is only on your end.
There are other online tools like isitdownrightnow.com and sitecheck.sucuri.net that work in a similar manner. These tools provide insights about the website’s operational status – and in the case of SiteCheck, may even help you identify a malware infection or security issue.
3. Access the page in incognito mode
When you use your browser in incognito or private mode, it doesn’t load your existing cookies, cached content, or run all extensions. Many times, these are elements that can cause issues with how a website is loaded. So, the 502 bad gateway error you’re experiencing may disappear in this mode.
To access incognito mode:
- In Google Chrome and Microsoft Edge, press Ctrl+Shift+N.
- In Mozilla Firefox and Safari, press Ctrl+Shift+P.
If loading the website in incognito mode solves the problem, then it’s likely a browser extension responsible for the error.
In such a case, you need to find out which extension is causing the problem:
- Return to your browser’s normal mode.
- Disable your extensions one by one. After disabling each extension, refresh the page to see if the problem still persists.
- If the website loads without the 502 error, you’ve identified the problematic extension.
You can typically manage extensions from your browser’s settings. For example, in Google Chrome, you click More Tools -> Extensions.
4. Clear your browser cache
Clearing your browser cache is a basic but effective troubleshooting strategy. Your browser stores temporary files on your computer to help quickly load webpages. However, these files sometimes lead to conflicts, including triggering a 502 error.
The process of clearing cache varies slightly with each browser. Below is a basic breakdown of the steps needed for popular browsers:
Google Chrome:
- Open your browser and click on the three dots in the top right-hand corner.
- Navigate to Settings > Privacy & Security.
- Click Clear browsing data.
- Ensure that Cached Web Content is checked.
- Choose the time range or select All time to clear everything, then click Clear data.
Mozilla Firefox:
- Click on the hamburger menu (three stacked lines) in the top right-hand corner.
- Go to Settings > Privacy & Security.
- In the Cookies and Site Data section, click Clear Data.
- Ensure that Cached Web Content is checked, then click Clear.
Safari:
- From the menu at the top, click Safari > Preferences.
- Click on the Advanced tab.
- Check the box that says Show Develop menu in menu bar.
- From the menu bar, click Develop > Empty Caches.
Microsoft Edge:
- Click the three horizontal dots at the top right of the browser.
- Click Settings > Privacy, search, and services.
- Under the Clear browsing data heading, click on Choose what to clear.
- Check the box next to Cached images and files, then hit Clear.
You can ensure that you are not seeing a cached page on the website by reloading the URL with an appended variable like this: example.com?nocache
5. Test the page with a different device
If your browser checks don’t indicate a problem, try switching to a different device. Sometimes, specific settings, extensions, or software on the device you’re using may cause conflict with the website you’re trying to access, leading to a 502 error.
You can choose another computer or a mobile device for this purpose. If you opt to use a mobile device, be sure to disconnect it from your Wi-Fi and use your mobile data instead. This action will bypass your usual internet connection and can sometimes solve your issue if the problem is related to your network configuration.
If using another device resolves the problem and allows you to access the website, there might be something on your original device that’s causing the interference. This could be a problematic browser extension, corrupted system files, specific security settings, or even malware.
In this case, restart your initial device and also reboot your networking equipment, like router or modem. The golden rule of tech troubleshooting is to unplug your device, wait for a few moments, and plug it in again. This simple reset can often clear up any temporary software glitch or memory issue that may be causing the problem.
6. Check for DNS problems
DNS, or Domain Name System, is what links your website’s domain name to its IP address. If there’s a problem with your DNS, this could cause a 502 error, as your domain may not be directing to the correct IP address.
There are several potential DNS issues that could cause this problem:
- The primary issue could be that your domain isn’t resolving to the correct IP address. This could occur if there has been a recent change or error in setting up your DNS records.
- You could be dealing with a non-responsive DNS server. The server responsible for translating your domain to the correct IP may be down or unavailable.
- If you’ve migrated your website to a new host, there can be a delay before your updated DNS records fully propagate across the internet. This delay could be up to 24 hours in some cases – depending on your DNS records’ Time to Live (TTL) value.
To fix these issues, here are some methods you could use:
- If you believe that your problems are due to recently changed DNS records, you may want to wait until the new records have had time to propagate.
- You might want to check your DNS settings in your domain registrar’s panel to ensure they’re correct.
- You could try flushing your local DNS cache – clearing old data and forcing your computer to get new, fresh data. If your computer has outdated or incorrect DNS information stored, this could cause a 502 error. In Windows, you can do this by opening Command Prompt and typing in ipconfig /flushdns. For macOS users, you can clear DNS cache by typing dscacheutil -flushcache in Terminal.
- Lastly, you might consider temporarily changing your DNS servers. By default, these servers are set by your Internet Service Provider (ISP). But there are also public DNS servers, such as those provided by Google, which can be used. Some people even choose to use Google’s public DNS servers permanently as propagation (the updating of DNS information across the internet) can be faster.
Keep in mind that solving DNS issues can sometimes be a bit technical, and you might opt to get professional help. If you’re unsure, reaching out to your domain registrar, web host, or a knowledgeable professional can be a wise decision.
If you’re using a WAF or CDN, be sure to check that the correct Origin IP is set. This would very much mimic the effect of having the wrong DNS A record set.
7. Check with your host
A potential culprit of the 502 bad gateway error could be an issue stemming from your web hosting service. This problem often occurs when a script, query, or request is taking an excessive amount of time to execute and is subsequently canceled or killed by the server.
This scenario typically occurs with shared hosting environments, where multiple websites are hosted on the same server. To maintain site performance and prevent one site from using all the server’s resources, these hosts often implement what’s known as a “kill script”. This script terminates a request that has been running for too long to avoid it impacting other websites on the same server.
Another reason for a 502 error could be server unavailability due to a downtime or connectivity issue. In such cases, it’s recommended to check your host’s status page or raise a support ticket to understand and resolve the problem.
8. Check your CDN or Firewall
Content Delivery Networks (CDN) and firewalls are common elements in web infrastructure designed to increase speed and security. However, they can occasionally interfere, leading to a 502 bad gateway error.
CDN:
A CDN is a globally distributed network of servers that provides faster delivery of your web content by serving it from the location nearest to your visitor. However, sometimes configurations or errors in a CDN can cause access issues, such as a 502 bad gateway error.
If you’re using a standalone CDN provider, try disabling it temporarily to test if it’s causing the problem. If the error doesn’t occur when the CDN is turned off, then the CDN might be at fault. You might need to delve into the CDN configurations or contact technical support for the CDN service to resolve the issue.
Firewall:
Similar to a CDN, a web application firewall (WAF) can also cause a 502 error. The firewall sits between the user’s network and server, examining web traffic for any malicious activity. If the firewall incorrectly blocks legitimate traffic, it might trigger a 502 error.
A firewall might also be configured to block certain types of requests that are perfectly valid for your website’s functioning. Any misconfigurations can result in a 502 error.
If you’re a Sucuri Firewall user and looking to troubleshoot a 502, try a firewall bypass and attempt to load the website again. If it loads successfully but you continue to receive 502’s, then either you need to set Hostname over TLS on the WAF security panel or your hosting server needs to allow the WAF IPs. But, there could also be some other issues such as the host header being too large.
How to bypass the firewall with hosts.txt
First, you must find and copy your hosting IP address by accessing the Hosting IP Address page of the WAF dashboard.
The next steps depend on your operating system.
Microsoft Windows
Follow these instructions to modify your hosts file in Windows.
- Press the Windows key, search for “notepad”, right-click on Notepad and select the option Run as administrator.
- Once the Notepad is open, go to File -> Open and type c:\windows\system32\drivers\etc on the path field. The “c:\” disk could be another letter, just make sure you’re accessing the primary disk of your system, which is usually where Windows was installed.
- The ‘hosts’ file won’t show right away because Notepad usually lists only text files, so you need to select “All Files” on the bottom of the window. Make sure you click on the ‘hosts’ file that shows as “File” on the Type column as there are two files named “hosts”.
- At the very end of the file add a line following this structure:
208.104.52.26 www.awesomewebsite.com awesomewebsite.com
- Replace awesomewebsite.com with your domain and 208.104.52.26 with your hosting IP.
- Save the file and exit Notepad.
- Just like you did before to run Notepad as administrator, now search for cmd.exe on the Start Menu, right-click select the option Run as administrator.
- Type ipconfig /flushdns on the command prompt window and press “Enter” so the changes take effect. You can close the command prompt window after.
macOS & Linux
Follow these instructions to modify your hosts file in Mac and Linux.
- Open the Terminal – if you are running a distro similar to Ubuntu, press Ctlr + Alt + T . On macOS, you can search on Spotlight or find the Terminal in the Applications -> Utilities folder.
- Type sudo nano /etc/hosts on the Terminal window and enter your password to open Nano Text Editor as root.
If you see Command ‘nano’ not found message, your Linux distribution may not have Nano Text Editor installed, therefore you can either choose a different editor such as Vim, Gedit, etc. You can also install Nano with your distribution package manager. If you are running a distro similar to Ubuntu, run the command sudo apt install nano on Terminal to install Nano Text Editor.
- At the very end of the file add a line following this structure:
208.104.52.26 www.awesomewebsite.com awesomewebsite.com
- Replace awesomewebsite.com with your domain and 208.104.52.26 with your hosting IP.
- Press “Ctrl + X“, then “Y” and then “Enter” to confirm saving the file with the same name.
That’s it. You should now be able to view your website directly from your hosting server. Please, use the incognito mode of the browser to make sure it didn’t cache the DNS.
In other cases, hosting security software may be blocking your firewall IP addresses. To resolve this, you will need to contact your hosting provider or system administrator and ask them to allowlist the following IP addresses:
192.88.134.0/23 185.93.228.0/22 66.248.200.0/22 208.109.0.0/22 2a02:fe80::/29
If this doesn’t resolve the issue, move on to the next step.
9. Check for large HTTP headers
In rarer cases, your application may be sending giant HTTP headers (larger than 16 KB) which cause the request to time out. To verify if this is the culprit, open your browser’s Developer Tools and inspect the size of the response headers.
The most common issue we find for large HTTP headers occurs when applications use multiple “Set-Cookies” headers for tracking purposes or repeatedly send the same HTTP headers.
9. Disable problematic plugins or themes
Plugins and themes are essential components of any WordPress website. They add functionality, design elements, and can enhance the user experience. However, they can also occasionally be sources of problems, causing errors such as a 502 bad gateway error. This is especially likely if the code within a plugin or theme is poorly written or outdated.
When a 502 error happens, one way to determine if it is caused by a plugin or theme is to temporarily deactivate all of them on your site. Don’t worry, you won’t lose any data by simply deactivating a plugin or theme.
If you can access your admin area, go to “Plugins“, select all the plugins, and pick “Deactivate” from the bulk actions drop-down menu.

Do the same for your themes. If this resolves the issue, the problem lies with one of your plugins or themes.
When you reactivate a plugin or theme and the 502 error reoccurs, you have found the troublesome component.
At this point, you should contact the plugin or theme developer for assistance or post a support ticket in the WordPress repository.
10. Check your logs
Log files are essential components of troubleshooting. They record events and transactions that occur while software or an operating system is running. By providing a historical record of operations, error logs are instrumental in diagnosing and rectifying issues like the 502 bad gateway error.
If you are using a hosting service that features a logging tool, use that to check for errors. If your host is not equipped with a logging tool but you have a WordPress site, you can check your error logs in Apache and NGINX.
These are usually located at the following paths:
- Apache: /var/log/apache2/error.log
- NGINX: /var/log/nginx/error.log
11. Check for PHP Timeout Issues
PHP timeout issues often manifest as a 502 bad gateway error. These occur when a single PHP process is running for longer than the set `max_execution_time` or `max_input_time` in the PHP configuration on your server.
For example, if you’re conducting large WordPress imports or running complex scripts, your PHP processes might exceed the maximum execution time. It might cause the server to terminate the process prematurely, resulting in a 502 bad gateway error message.
To address this, you’ll have to increase these time limits. It involves editing your PHP configuration settings.
There are a few ways to do this:
- Edit your php.ini file: Try finding your php.ini file in your website’s root directory and adjust the max_execution_time or max_input_time values. For instance, to increase the limit to 300 seconds, you can set max_execution_time = 300.
- Use your .htaccess file: If you’re running on Apache, you can modify the .htaccess file in your website root directory. Add the lines `php_value max_execution_time 300` and `php_value max_input_time 300` to increase the time limits.
Remember, making these changes can have an impact on your server’s resources. Increasing the PHP processing time allows scripts to execute longer, potentially taking up more server resources.
After you’ve fixed the issue, you’ll still need to optimize your website to address the root cause of the problem. No website visitor wants to wait 5 minutes for a page to load (and Google won’t like it, either)!
You can consult with your hosting provider about the appropriate values suitable for your specific hosting plan.
And always remember to monitor your website’s performance after making these changes to ensure that it continues to run efficiently! If you continue facing issues, it would be best to consider optimizing your PHP code or talking to a PHP developer to address complex code issues.




![Malware comes in many different varieties. Analyst Krasimir Konov is on this month’s Sucuri Sit-Down to help keep them all straight. From malicious iframes to SEO spam, join host Justin Channell as he racks Krasimir’s brain on all the different types of malware. Also, Krasimir discusses his recent blog post about a malicious cURL downloader, and Justin breaks down the latest website security news, including patched plugins you should update. Podcast Transcript Justin Channell: Hello, and welcome to the Sucuri Sit Down. I'm your host, Justin Channell, and this is a monthly podcast about website security, where we get in-depth with the malware removal experts here at Sucuri. Later in the show, I'll have our analyst Krasimir Konov to chat about some different types of malware, but first, let's take a look at other topics we've published on our blog and Sucuri labs notes this month. First up, we have some new information about credit card skimming with hackers using a hybrid method to steal payment information from eCommerce websites. Our analyst Dennis Sinegubko wrote about this for the Sucuri blog back at the beginning of June. Now, most credit card stealing malware is a client side JavaScript that grabs data and sends it to a third party server. But, that approach has a drawback for bad actors because it's still possible to track the requests and catch them as being suspicious. Now, to get around that, bad actors have started harvesting information server side by modifying core PHP files. In this case, the infection would be undetectable from the outside, but it's still going to be pretty easy to find because you're rarely modifying any of those core files, so any of those changes that are going to come up are going to be suspicious. To get around both of these drawbacks, we're seeing bad actors combine the two. So client side snippets of JavaScript are sending stolen credit card data to server side scripts that they've installed on the same server as the site. Now, this allows bad actors to cover their tracks a little bit because the traffic that's being redirected is going to the same server, and that's less likely to be flagged as suspicious. It's a bit more complicated to pull this off, but our team has been seeing this hybrid approach in the wild, so it's something to be on the lookout for. Now, another month has passed, and we found more cross site scripting attacks targeting WordPress plugins. Most notably, we discovered one that affects users of the YITH WooCommerce Ajax Product Filter plugin. Now, this is a plugin that allows WooCommerce stores to be filtered by product type, and it's pretty popular. It's got about 100,000 users right now, so with it being vulnerable, it's very important that all of them update to the latest version, which is 3.11.1. Some of the other plugins we found cross site scripting vulnerabilities with included Elementor Page Builder, Careerfy, JobSearch, and Newspaper. If you're looking for a full list of vulnerabilities that have been patched this month, John Castro at the Sucuri Labs blog has you covered. Check out our show notes for the link. Also, this month I had a blog go up detailing what's called a jibberish hack. It's basically the same motivation as an SEO spam attack where bad actors use your site's good standing to redirect visitors to their own sites. But in this attack, you'll find a bunch of randomly named folders filled with a ton of HTML files with really nonsensical file names like cheap-cool-hairstyles-photos.html. It's just going to be a mishmash of keywords that clearly you didn't put there. Unfortunately, just deleting all those HTML files and folders is not going to be enough to get rid of that jibberish hack though. You're going to need to fully clean any hacked files and database tables, and then you're going to have to deal with all the damage caused to your site's standing. And just keep in mind, if you find anything about that process too daunting, we're always here to help. Now, for this month's Sit Down, we have Sucuri analyst Krasimir Konov. Earlier in June, he had written a lab's note about a malicious downloader script that used the curl function, and we chatted a bit about it, but more importantly, we went really in-depth on all the different varieties of malware that website owners need to be aware of. But, before I get started with Krasimir, I just wanted to remind you about the Sucuri Sync-Up, our sister podcast. It's a weekly website security news briefing that you can find anywhere you get your podcasts, as well as the video version on our social media feed, and now you can even get it on your Amazon Alexa smart speakers. Just search Amazon skills for Sucuri Sync-Up, add the flash briefing, and get new content delivered every Monday. Now, on with the show. Hi Krasimir, thanks for joining us on the show. I thought we could start off and maybe have you tell us a little bit about yourself and what you do here at Sucuri? Krasimir Konov: Yeah, sure. Well, I joined Sucuri originally in 2014, but I've been in the IT business for about 10 years. Nine of those I did security. And currently at Sucuri I'm one of the malware analysts. I used to work in the front lines, used to clean websites and whatnot, and then I gradually moved up, and now I'm working in the malware research department. And my day to day job is basically analyzing malware, and then once I analyze it and figure out what it is, then I will create a signature for it. And we'll add those signatures to our tools, so we can automate some of the work we do. And I also write some Labs Notes blog posts. Usually, if I find something interesting in malware or some security topic, I'll write about it. Justin Channell: Yeah. And of those topics recently that you wrote about, one was about a malicious curl downloader, and how exactly did that work? Krasimir Konov: Right, yeah. That was an interesting one, but not very unique or anything like that. We see that a lot with curl being used as a downloader. It's a very common malware. So rather than including the actual malware in the file, the attackers would use curl to download the malicious code. In this case, they'll download it from Pastebin, but it could be anything. It could be another website or anything like that, and curl would just make a call to the website, request the code. The website will respond with the code, and then later on, there is some code to either save the output somewhere on the website, or you'll just run it through eval and execute the actual code right away. Justin Channell: Right. And you said that it's commonly found in malware, but let's kind of maybe talk a bit broader about malware in general. What is everything that is classified as malware? Krasimir Konov: Well, in general it will be anything that the owner of the website didn't authorize, anything that was added by a third party. There is a lot of different malware. It could be even something like a defacement that will also be considered malware because it was something the user did not authorize. Even though it might not be doing anything malicious on the website, it's not infecting users, the visit is still something they did not authorize. So defacement would also be considered malware. And even something like ransomware where the website is technically not really damaged, it's all encrypted, but it's not infecting anybody. It's not doing anything malicious, but it's still encrypting the entire website and asking the user or the customer, the owner of the website for a ransom they need to pay in order to get the website back online. Justin Channell: Okay. Let's maybe break it down to each individual type of malware. For example, what would be a way that maybe I-frames could be maliciously used by a hacker? Krasimir Konov: Yeah. An I-frame can be used maliciously when it loads content from another location. You can look at the I-frame as a window that just opens another website. So anything that website has on it, you're pretty much loading it through the I-frame. So if that website is infected and it's serving some kind of malware, by opening an I-frame, you're loading all those elements, everything that was on this website. And sometimes the I-frame can be as small as pixel or something hidden somewhere off the screen, so you wouldn't even know that it was opening it. Justin Channell: And yeah, I feel like we've also seen a lot of them where they're used almost to mimic popups as well. Krasimir Konov: Yeah. I mean the I-frame, it could just load from another website and the other website could do anything. It could be serving just malware and it would try to infect the user that doesn't even know that they're being connected to the other website. It could just have some other JavaScript that's just trying to open up pop ups on the original website through the I-frame. Yeah, it could be a lot of things. Justin Channell: Okay. And also, let's talk a little bit about conditional redirects and how those work. What allows a script to detect which devices are coming in and where they're coming from? Krasimir Konov: Right. Yeah. That's a common one we see a lot. Basically, a conditional redirect would be something, it's a redirect on the website. It's obviously malicious, but there's certain conditions that need to be met before the redirect is actually executed or the redirect happens. For example, let's say if it's on a phishing website or a phishing page that is hidden somewhere on the website. For example, if Google visits it, obviously the attacker doesn't want Google to see the actual phishing page and record it as a phishing page. So they'll look for, for example, the IP address. They would look for the user agent. And a lot of times they can tell that it's a bot. So they'll just return a 404 response, for example, that will be like, "Oh, page not found." So Google would be like, "Oh, it looks like this page doesn't exist." But then if a regular user goes to the same page, then those conditions will be met. The actual website or the script behind the phishing will check and see, and be like, "Oh, this one is running Firefox or Chrome," and be like, okay. And then they'll look at the IP and be like, "Oh, he's in whatever, he's in United States somewhere." And he's like, "Oh, okay. That's good." And then once all of these conditions are met, then the actual script will serve them the actual phishing page. And it'll be like, "Oh, you need to fill out this to recover your account or whatever, or type in your credentials to log in here." Justin Channell: And so this is the type of thing we're really, a website owner is going to run into this more commonly when people are complaining about they're getting served bad content or whatever, and they can't seem to replicate it. It's likely probably these kind of redirects. Is that right? Krasimir Konov: Right, right. It could be something as specific as, for example, a range of IP addresses that correspond to an ISP or maybe let's say a country. It could be like, "Oh, were targeting only customers in the US," so if you're connecting from another country and you go to the same website or the same page, it would just say 404. It will give you a page not found. But then if you actually have an IP address from the United States, you're connecting from the United States, then it will actually show you the phishing page. Justin Channell: Now another type of malware I feel like we see a lot here is SEO spam. We hear people talking about that. What are some of the top SEO spam keywords that you see coming through? Krasimir Konov: Yeah. We get that a lot. We see a lot of spam on websites. A lot of times attackers will use SEO spam to gain ranking for their own website. Or they'll just try to include some kind of SEO spam in links to another website that they're currently running or something. I mean, these things change all the time. So a website might be up for a week and then it'll disappear, and then they'll start another campaign. But yeah, we see that a lot. We see all kinds of keywords they use. Most common ones will be something like Viagra. We'll have like jerseys for sale. A lot of times, they'll use name brands like Nike, Rolex, Prada. We've seen even some essay writing services for some reason. I'm not sure why, but that's common. We see, for example, pharmaceuticals a lot that will use specific medicine names. They'll use all kinds of replicas, like a replica bag of this, replica this, replica that. We'd see prescription, also payday loans. And obviously there's some adult related sites and things like that keywords. Justin Channell: So pretty much anything that people are going to be searching and clicking on are probably going to be targets for SEO spam? Krasimir Konov: Right. I think a lot of it commonly is pharma related because a lot of people are looking to buy medicine online, and a lot of times will require a prescription. So a lot of people are like, "Oh, let me see if I can find this medicine that I can buy it online somewhere." They don't need a prescription. They don't want to pay to visit a doctor and whatnot, and they'll look for it. And yeah. Justin Channell: Now, whenever somebody's website does get hacked with a SEO spam attack, what kind of effect can it have on the website beyond just being defaced? Krasimir Konov: Yeah. You can have a lot of things can happen, negative things. For example, the website can be blacklisted because of the keywords. And that usually represents a big red warning when you go on the website, depending on who blacklisted it. But if it's Google, for example, you'll see a big warning and it'll tell you this website contains malware or there's something wrong with this website. So, pretty much all the traffic on the website will be gone. And then you can also lose a lot of your reputation if there is a SEO spam on the website. For example, if you were ranked in say number five for certain keywords that represent your product on Google search engines, and then suddenly you get hit with SEO spam, then all these search engines then go and visit the website. And all of a sudden they're like, "Oh, there's all these weird key words on here, all this SEO spam that's causing a lot of mixed signals." And the search engines are like, "Oh, where do we rank this website now? Do we rank them with this product that's originally what the website is about? Or do we take into consideration all these other keywords that are mixed up that are SEO spam?" So, all of a sudden your website might go from being ranked number five on the first page to being on the 10th page. And then you rank for all these other keywords that you didn't intend to. And then people search for something completely different. They're searching for jerseys or something, or now they're searching for Prada products, and then suddenly your website pops up in there. So you're not really getting any good traffic, not targeted traffic. But, yeah. Justin Channell: Okay. So in a lot of ways, the effects of SEO spam would kind of be the same for defacements or any kind of malware with the blacklisting, but it does bring that kind of unique part to it where then it can also then bring traffic that you weren't expecting from somebody searching for jerseys, for example. I had not really ever thought about that. Krasimir Konov: Right, right. Yeah. It will definitely bring some traffic. I've seen a lot of times where websites will be connected. Let's say, there was 1,000 websites that were all infected with SEO spam, and it will kind of link each other to try to bring each other up into the rankings. And so you would see a lot of strange traffic from some random websites that were, for example, that were previously infected, even if they might not be anymore. But yeah, they'll be sending traffic to you or there'll be usually search engines sending you traffic, but for the wrong keywords. People are looking for something else, so obviously they're not going to be interested in your website. They're not going to buy anything because they're not looking for that. Justin Channell: And now, so thinking of the way websites get infected, a very common way it seems to be is through phishing campaigns. What are some recommendations you have for the best ways to avoid becoming a phishing victim? Krasimir Konov: Yeah. There is some ways. I mean, it depends really on the type of attack. Obviously, a lot of people, when they think of phishing, they think, "Oh, it's just like a PayPal phishing page and it just looks like the original," but it could be more subtle. If it's just a regular page where you're just going and you get redirected to another website, obviously the first thing to look is if you have the security padlocks, make sure that traffic is encrypted. A lot of these websites don't really have any encryption nowadays. More are starting to get that with pre SSLs being issued and whatnot. But that's the first thing to look and see, make sure. Anywhere you're typing your sensitive information, you want to make sure you have the padlock to make sure everything is encrypted. Krasimir Konov: But also you want to look at the URL of the actual website you're visiting. A lot of times they'll try to hide it. So you might have to be careful and look closely. Something that might be an I will be an L or something like that. And a capital I and L might look kind of similar into your IRL, so you might miss something like that. Say, if you're looking for PayPal and it might replace the L with an I, and if you don't look closely, it might look exactly the same. And you're like, "Oh, okay, it's paypal.com," but not really. So yeah. Just pay attention to the URL, make sure it is the actual website. There's no paypal.com dot something, dot something else, dot com. Yeah. You want it to just say paypal.com, and then it'll have forward slash and something else. But yeah, it gets more complicated when you have, for example, a phishing page that's injected into a regular page. For example, you have a checkout page on a website that you're buying things from and you go through the checkout page and you're looking at where you type in your credit card information and whatnot. And you might have a phishing page that actually looks exactly like a little box that gives you where you put in your credit card number, or your name, your address, and all that. So that will be more subtle. For example, that could be also an I-frame that's just coming from another page. And it will look exactly like it's part of the website. You're on the legitimate website, but only that portion of the website is actually the phishing page. And you look at it and you're like, "Oh, okay. It looks fine. I'm just putting my credentials." So that one could be a lot harder to figure it out. Usually, if it's something like that, I look for something that looks kind of out of place. Maybe they didn't get the right font. It might not be the same as the original website or there might be something out of place, some fields that are missing or some fields that are squished into the left or the right. It looks kind of awkward. It's like, why would this be like this? The whole website looks professional. There's a pink background or something, for example, and then suddenly there's this white box in the middle. It's like, ah, it looks kind of weird, out of place. Justin Channell: So pretty much if anything looks slightly out of place, you really should double check everything at that point. Krasimir Konov: Right. Right. Yeah. Obviously there's more ways that you can check, but I wouldn't get into more technical, like inspecting elements and looking at stuff, but yeah. Justin Channell: And now another type of malware that's kind of, and it kind of plays in with whatever the other infection is, is backdoors. Can you give us some examples of what backdoors can be? It's mainly just when a hacker can get back into the site to reinfect it, but I know there are a ton of different methods. And what are some of the more common ones and then maybe some that really interesting that you've seen? Krasimir Konov: Yeah, there is a lot. They'll probably be one of the first things the hacker would do is if they compromise a website, obviously they'll try to spread backdoors and just inject code everywhere so they can get back in, even if the owner of the website or webmaster cleans it. They want to try and hide some malicious code somewhere so they can always get back in. There's many variations. A backdoor could be something as simple as a single line of code to just [inaudible 00:20:19] argument, some kind of string or something via get or post. Krasimir Konov: And then it runs into an eval, so it evaluates the code and executes it. And some backdoors are very complex and they can be included in, let's say you have a WordPress site and you have a specific login page where all the login credentials are being processed and everything else. They could even inject code into that to basically bypass the whole login mechanism so that they can just bypass everything. They don't even have to know any user. They don't have to know the password, nothing. They'll just include some lines in there, and every time they'll be just able to log in. Yeah. It gets pretty crazy. Yeah. I mean, there's all kinds of malware. There is always a malware, for example, that just targets credit cards and will just target the eCommerce websites. And they'll just try to steal the login credentials, I mean, the credit cards. They'll try to get your address, your credit card information, any kind of CVV code or whatever you typed into the billing address, everything. And then there's also malware like the backdoors that are just trying to keep the attacker in control and trying to get them back into the website. There's just so many variations of what a malicious user might want to do on a website. Some can be something as simple as just reinfecting the website. They don't want to keep control. They just want to keep reinfecting it with some kind of malware. So even if you clean it, it would just get reinfected. Some of them in the database, otherwise might be in the files. We've seen some added into a [inaudible 00:22:14] job that just keeps running on the server. There could be malware that is just a giant to, for example, attack out of websites. Like for example, a distributed denial service where they put the same malware on thousands of websites. And then they try to send traffic to one website to try to bring it down. Yeah. People try to do all kinds of stuff with websites. We've seen even some cryptocurrency mining malware that you go onto a website and suddenly your PC starts running like crazy. And you're like, what the hell is going on? Your fans turn on and the PC is 100% CPU. And it turns out that the website has some malware that's just by mining Bitcoins with your CPU and it's using all of it. Justin Channell: Wow. Okay. So one question now, the last question I have is of all the malware that you've seen, what do you think is the coolest piece of malware that you've ever seen? Krasimir Konov: I think the coolest would be the ones that are so subtle that you don't even know that it's there. For example, we've seen some that were pretty innovative. It will be just a one liner code that's just one line. And for example, it will be let's say 40-50 characters, something like that. And that's all it is. And they'll hide it somewhere in between the legitimate code. And if you don't know what you're looking for, you would never see it. It doesn't look suspicious. There is no links to some other website. There's no some kind of encrypted code or anything like that. It's just a simple one line. And then if you're just scrolling through the file looking for something, you would never see it. It just looks like all the other code. And then if you look closely, you're like, "Oh, there's this..." Look closely, and you're like, "Oh wow, this is not supposed to be there." And then you keep looking at it and you're like, "This looks really weird." And then you see that it's actually doing some malicious things and trying to evaluate some code or taking output from the outside, I mean, some input from outside, you can call it and give it code to run. Justin Channell: Well, Krasimir, thanks for coming on and talking to us for today. Krasimir Konov: Yeah. Thank you. Thank you. I'm so happy. I'm glad I was able to do this podcast and I can't wait to do another one. Justin Channell: Yeah, we'll have you on again. Thanks. Krasimir Konov: Thank you. Justin Channell: Thanks again to Krasimir for joining us here on the Sit Down. We'll be back with another episode next month. So be sure to subscribe on Apple podcasts, Spotify, Stitcher, or any podcasting platform. Also, be sure to follow us on social media at Sucuri Security and check us out at sucuri.net. That's S-U-C-U-R-I.net. I'm Justin Channell, And this has been the Sucuri Sit Down. Stay safe out there.](https://blog.sucuri.net/wp-content/uploads/2020/05/20-sucuri-podcast-blog-post_blog_image-390x183.jpg)




