October 02, 2006

The Origin of Vulnerabilities

One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most common tasks when doing penetration testing is enumeration. Enumeration consists in making queries to a system in order to obtain information about its user names or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r resources that can be used as targets in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process. It is usually easier to get access to a system or application with a valid user than with a sophisticated exploit.
The canonical way to enumerate users in a UNIX system was to use finger, but if sendmail was running in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system it is far more popular to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMTP commands VRFY (verify) and EXPN (expand) togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with a dictionary of user names. Both commands will confirm or deny cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 existence of a user account with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 provided name.
If a web application is one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 targets in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 penetration test, enumeration is done in a different way because its users aren't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system users. Many of those web applications have a sign up page that allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to subscribe in order to get access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 service. Some of those applications allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to select a user name, which has to be verified to confirm that no ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r user exists with that name already. That verification can be used to enumerate users using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same user name dictionary used with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sendmail commands.
In a traditional web app cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user name will be verified when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user has filled up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form and pressed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 submit button. Additionally those applications that want to avoid automatic user registration, like email accounts, use a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) that requires cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to introduce some letters that are displayed in distorted image. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no CAPTCHA cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n each user can be verified sending cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 required HTTP request with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 username. Some AJAX web applications make this process even easier. As in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alternative offered by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web programmer guru Reuven M. Lerner in his ATF October 2006 column, if an asynchronous request is done to verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user before allowing him to submit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same URL can be used to enumerate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 users. The solution to both cases is to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CAPTCHA for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 verification also, instead of using it only for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 registration. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CAPTCHA is not solved cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server refuses to verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user.
Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r attack that can be avoided using a CAPTCHA is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 brute forcing of web applications. If an attacker is trying to obtain access to a web application that uses known email accounts as user names or whose users have already been enumerated, one possible next step is to perform a brute force attack. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 application doesn't have a mechanism to restrict cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maximum number of attempts, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker will be able to use a dictionary to guess cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password. Most modern systems (Linux, Windows 2003, ...) have some kind of restriction in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of attempts, such as blocking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 account temporary or indefinitely. However, this philosophy hasn't been applied to many web applications yet. There are some exceptions, though. Gmail does a good job at avoiding brute force attacks using CAPTCHAS after some unsuccessful attempts.
If you have done penetration testing for a while now, you might be thinking that those vulnerabilities are old and you would be right. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se vulnerabilities have evolved to persist in a new environment. They are probably cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stronger vulnerabilities because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can survive in every environment with an effective disguise that makes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m invisible to its natural predator, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programmer.

0 Comments:

Post a Comment

<< Home