Teach to Learn

Greetings all. I am following Robin Wood's (@digininja) recent Twitter advice about using one's blog as a learning tool. I find that I struggle to retain much of what I have read - I love InfoSec, but I'm afraid that much of the reading material is a bit... well... boring. I am currently reading Windows Internals Part 1  in an effort to better understand how the Windows OS works under the hood. Unfortunately, as I sit in the lobby of a hotel in Kansas City, I find that my mind wonders when I  try to digest this information (there is some excellent mariachi music playing on the overhead). To combat this, I am going to take some advice that I once encouraged others to take. I'm a former high school teacher and as such I always used to tell my students to write down what they were learning as a way of forcing themselves to engage with the content. Rather than just taking notes and blindly parroting (plagiarizing?) the material however, I encouraged them to write it out

OWASP ZAP Tutorial - Part 3: Scanning

Good day, eh. Welcome to Part 3. In this post, we will spend a little time walking through how to perform active scanning with ZAP. I'm gonna level with you, this is probably the easiest part of workin with ZAP, but it is also the most perilous. Web scanners have taken down sites, and if the scope isn't configured properly you could find yourself winning an extended stay at Club Fed (located in beautiful Leavenworth, Kansas). As always, don't scan stuff that isn't yours or that you don't have permission to scan. Got it? Good. Let's move forward. As you may or may not know, OWASP ZAP can perform two different levels of scanning: passive scanning and active scanning. Our tutorial will focus on active scanning, but I think it is worthwhile to have a brief discussion about passive scanning. Passive scanning is the scanning that takes place when ZAP is interacting with a web application through any other process other than an active scan. What this means is that

OWASP ZAP Tutorial - Part 2: Crawling

If you completed part one of this series, you have now successfully intercepted an HTTP request and response with OWASP ZAP. Don't you feel proud and empowered? I knew you would. But guess what? We're not done yet... not by a damn site. Now it's time to learn how to  crawl  a web application with ZAP. Now I know what you're thinking to your self. Your thinking, "Pablo, why do I need to crawl the site? Can't I just do an outright scan? Won't that crawl the site first anyway?" Well, the answer to your question is "yes," you can just scan the site, which usually starts with a crawl. But here is the deal, maybe you don't want to be noticed, especially if you are doing a test where stealth is important. Have you ever worked on a blue team and had your email inbox explode with alerts because some jackhole decided to scan your company's website? If so, then you understand why running a full scan might not be desirable (you may also wa

OWASP ZAP Tutorial - Part 1: Intercepting Traffic

So you want to use OWASP's Zed Attack Proxy to intercept web requests and responses, but you don't know where to start. ZAP isn't quite as pretty as Burp and there isn't even a proxy tab that you can use to intercept traffic and monkey with the parameters! What is the deal!? OK, OK, OK, just take a chill pill there my friend. Although ZAP is a little different from Burp, I think you will find that it is just as useful, and in some cases perhaps more so. Let's jump in with a little exercise that will help you figure out the basics of this often overlooked gem. Before going any further, I am going to take a moment to warn you about testing web applications without permission; don't do it. Testing a site that is not yours is what a friend of mine has referred to as a "non-extradition country career choice" (thanks Adrien de Beupre). Equador is a lovely country, but you probably don't want to live there. Manually Intercepting HTTP Requests and

Getting Started with Burp - Part 5: The Intruder Tab

Burp Intruder is a powerful tool that allows you to automate both canned and customized attacks against web applications. If you are using Burp Community Edition, Intruder has time constraints on it that limit its usefulness. With that said, even a restricted version of Intruder is useful. If you want the un-throttled version of this tool, however, you will need to pony up some dough and buy the Burp Suite Professional. Burp Intruder has a number of configuration options and it can be used to perform many different types of attacks. In the future, I will try to put out a post that covers some more advanced uses of Intruder. For the purposes of this post, however, we will perform a basic test against or JuiceShop instance that is hosted at Heroku. You can learn more about the Intruder tab at . I highly recommend spending time reviewing this page, as it provides a great deal of information about some of the more advanc

Getting Started with Burp - Part 4: The Repeater Tab

In my fourth post, I will spend a little time talking about the Repeater tab. Repeater is somewhat similar to the proxy tab in that it allows you fiddle with HTTP requests, but it is better because it allows you to change and repeat requests over and over again without the need to flip back and forth between the browser. I have found that I spend a great deal of time in this tab, usually after I have tested something in the Proxy tab. In my experience, Repeater is one of the most useful tabs in the Burp suite. Let's take a look at how to use Repeater when testing our test JuiceShop site. In Burp, go to the Proxy tab and make sure that the intercept option is set to “on." With your browser running through Burp Suite, go to . Fill out the form and submit it. Note the ‘comment’, ‘rating’, and ‘captcha’ parameters in the request. Don’t make any changes to the parameter values yet. Forward the request on to the server and

Getting Started with Burp - Part 3: The Proxy Tab

Welcome to part three of this series. In this post, we will discuss the Proxy tab and how it is used. Using the Proxy tab in Burp, you can manually intercept and alter HTTP requests and responses. This can be useful if you suspect that there may be an issue with a page and you want to tinker with it. Repeater, which we will look at next, can also do this but it is a bit more involved. If you are looking for a quick and dirty way to test a parameter, this is the place to start. Open Burp and enable proxy settings for it in Foxy Proxy.    In the browser, go to .    In Burp, go to the Proxy tab and make sure that the intercept option is set to “on.” In the Proxy tab click the “Options” sub-tab.    Scroll down to Intercept Server Responses and check the box labeled “Intercept responses based on the following rules."    In the same section, check all of the options that are listed in the box.    In the browser, click on the pro