Browsed by
Category: Security

2017 OWASP Top 10 for PHP Developers Part 9: Using Components with Known Vulnerabilities

2017 OWASP Top 10 for PHP Developers Part 9: Using Components with Known Vulnerabilities

Attacks on today’s web are an unsurprising reality – websites are hacked daily, data is being stolen and leaked left, right and centre. In many (though not all) cases, attacks on web applications are successful because a targeted web application is susceptible to security vulnerabilities – vulnerabilities which derive from its components. In the penultimate segment of the 2017 OWASP Top 10 series, I will cover how using components with known vulnerabilities can affect your web application, tell how such risks are…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 8: Insecure Deserialization

2017 OWASP Top 10 for PHP Developers Part 8: Insecure Deserialization

When developing a web application, web developers sometimes need to first turn data into a proper format so that it can be processed. Occasionally, converting data into a proper format is a requirement in order for it to be stored in a file, database or simply to boost effectiveness. Here’s where serialization comes in – serialization in web applications covers turning data into a stream of bytes so that it can be, for example, stored in a database or in a…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 7: Cross-Site Scripting (XSS)

2017 OWASP Top 10 for PHP Developers Part 7: Cross-Site Scripting (XSS)

We have all seen search forms, haven’t we? Take a look at mine: The above search form is pretty basic – when a search query is provided, the page will respond with “You’ve searched for …” and display the results. This search form does not have anything unusual compared to the other search forms out there – except that it does not sanitize the input.. What happened here is we have entered a different search term. Here’s what was provided: <script>alert(“2017…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 6: Security Misconfiguration

2017 OWASP Top 10 for PHP Developers Part 6: Security Misconfiguration

Web applications can be susceptible to all sorts of vulnerabilities: a web application can be vulnerable to at least one of the 2017 OWASP Top 10 vulnerabilities, it can have remote or local file inclusion flaws or be vulnerable to other types of weaknesses. A web application can even be compromised by utilizing social engineering – there are all sorts of ways. With that being said, web applications can also be configured in ways that make them vulnerable. Such a vulnerability is…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 5: Broken Access Control

2017 OWASP Top 10 for PHP Developers Part 5: Broken Access Control

Let’s take a scenario like so: I have a web application that allows people to buy software I created – after a person has bought the software, an account must be made. After the individual creates an account, the software can be downloaded. After the purchase, the customer is also granted access to some resources available exclusively to customers. Should any issues arise, support tickets can be lodged. Now imagine you’re an attacker who wants to gain access to the resources available…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 4: XML External Entities (XXE)

2017 OWASP Top 10 for PHP Developers Part 4: XML External Entities (XXE)

Ever processed XML files in your web application? If you did, you probably parsed their contents. And if you parsed their contents, your web application might have been vulnerable to an attack known as XML External Entities (XXE). What is XXE? An XXE attack is a security vulnerability often found in XML parsers. An XML External Entities attack often exploits the XML parsing functionality in a web application making it parse data of interest to an attacker. How does it…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 3: Sensitive Data Exposure

2017 OWASP Top 10 for PHP Developers Part 3: Sensitive Data Exposure

There is a lot of exposed data floating on the web. People hear about such events all the time – it seems like data breaches are becoming more and more common. With data breaches being so prevalent, one would expect people should protect their data better. However, with many developers underestimating the importance of protecting private data, this isn’t always the case – when developers fail to adequately protect data, sensitive data exposure might occur. Sensitive data exposure is currently…

Read More Read More

2017 OWASP Top 10 for PHP Developers Part 2: Broken Authentication and Session Management

2017 OWASP Top 10 for PHP Developers Part 2: Broken Authentication and Session Management

While browsing the web, you click on a link. The link leads you to a page like this: Looks like a usual login page, right? Let’s try logging in. You go off to Discord and your friend asks for the URL of the login page, you provide him with this: http://localhost/2017-owasp-top-10/2/member.php?sessionid=3g7qpol6t8an9f81rk9m8imrj2 Your friend clicks on the URL and.. Wait – he’s logged in? He did not authenticate, how is this possible? To understand why this happened, we need to jump…

Read More Read More

Other uses of .htaccess: Making a .htaccess-based WAF

Other uses of .htaccess: Making a .htaccess-based WAF

If you’re a web developer, you’re probably fammiliar with .htaccess. If you’re not, let me give you a quick introduction: .htaccess is a part of Apache. A .htaccess file provides a way to make configuration changes on a per-directory basis without needing to edit Apache’s main configuration files. .htaccess is useful for many purposes: it can be used for URL rewriting, IP address blocking, restricting access to certain directories and so on. What I’m going to focus on today is probably a bit…

Read More Read More

An old Ticket System Security Analysis

An old Ticket System Security Analysis

Since I started building websites few years ago, I’ve created a few projects. Some of them never saw daylight, some of them were deleted upon creation, some of them still reside in my project archive. When I was trawling through the archive a few days ago, I came across one of them. It was a ticket system I first made back in April 2016 – the whole project was dubbed a “Secure Ticket System” so it instantly caught my attention….

Read More Read More