{"id":675,"date":"2009-09-27T23:08:24","date_gmt":"2009-09-27T17:38:24","guid":{"rendered":"https:\/\/www.qadit.com\/blog\/?p=675"},"modified":"2009-09-27T23:08:24","modified_gmt":"2009-09-27T17:38:24","slug":"fuzzing-with-webscarab","status":"publish","type":"post","link":"https:\/\/qadit.com\/blog\/fuzzing-with-webscarab\/","title":{"rendered":"Fuzzing with Webscarab"},"content":{"rendered":"<p>Let&#8217;s say that you have been asked by Abcxyz Inc to test their HR web portal. You decide to use fuzzing to check for easily guessable user IDs and passwords. You have collected a list of possible user names and a password dictionary has also been shortlisted by you.<\/p>\n<p> &nbsp;<\/p>\n<p><!--more--><\/p>\n<p> &nbsp;<\/p>\n<p>We will today see how to use Webscarab to facilitate this fuzzing.<\/p>\n<p> &nbsp;<\/p>\n<p>Start webscarab (see Webscarab &#8211; A beginner&#8217;s guide). Set it as the proxy and visit the HR portal&#8217;s login page. Here try to login with any credential. In the summary tag, choose that conversation where the user ID and password was sent to the web application. Right click on the conversation and click on &#8216;Use as fuzz template&#8217;. <\/p>\n<p> &nbsp;<\/p>\n<p>Now, go to the Fuzzer tab of Webscarab which looks like this:<\/p>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_688\" aria-describedby=\"caption-attachment-688\" style=\"width: 680px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-2.jpeg\" alt=\"The fuzz template\" width=\"680\" height=\"424\" class=\"size-full wp-image-688\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-2.jpeg 680w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-2-300x187.jpg 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption id=\"caption-attachment-688\" class=\"wp-caption-text\">The fuzz template<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<p>Now, click on the &#8216;sources&#8217; button to select the lists for user ID &amp; password. Here, give a name to be associated with the list of usernames &amp; passwords and click on &#8216;browse&#8217; to select the file.<\/p>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_692\" aria-describedby=\"caption-attachment-692\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-5-setpassword.jpeg\" alt=\"Add source file for passwords\" width=\"760\" height=\"475\" class=\"size-full wp-image-692\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-5-setpassword.jpeg 760w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-5-setpassword-300x187.jpg 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-692\" class=\"wp-caption-text\">Add source file for passwords<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_690\" aria-describedby=\"caption-attachment-690\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-4-setusername.jpeg\" alt=\"Add source file for username\" width=\"760\" height=\"475\" class=\"size-full wp-image-690\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-4-setusername.jpeg 760w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-4-setusername-300x187.jpg 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-690\" class=\"wp-caption-text\">Add source file for username<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<p>Back in the main webscarab window, in the Fuzz source column, click against username. A dropdown of available fuzz sources will be displayed. Click on the appropriate list. <\/p>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_697\" aria-describedby=\"caption-attachment-697\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-6-setfuzzsources.jpeg\" alt=\"Set the fuzz sources\" width=\"760\" height=\"475\" class=\"size-full wp-image-697\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-6-setfuzzsources.jpeg 760w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-6-setfuzzsources-300x187.jpg 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-697\" class=\"wp-caption-text\">Set the fuzz sources<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<p>Since we are planning to fuzz on 2 fields, we need to set the &#8216;priority&#8217;. The field with the lesser priority number attached to it will be fuzzed first. So, we could choose priority 0 for passwords and priority 1 for usernames. This is a very important step. The number of requests that will be sent to the application is shown on the left above the bottom frame. <\/p>\n<p> &nbsp;<\/p>\n<p>Now, click on the &#8216;Start&#8217; button. You will see the fuzzed requests being sent and the count of number of request sent being updated. Click on the first fuzzed conversation in the bottom frame of the fuzzer.<\/p>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_698\" aria-describedby=\"caption-attachment-698\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-7-firstconv.jpeg\" alt=\"The first fuzzed request\" width=\"760\" height=\"475\" class=\"size-full wp-image-698\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-7-firstconv.jpeg 760w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-7-firstconv-300x187.jpg 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-698\" class=\"wp-caption-text\">The first fuzzed request<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<p>You can see the credentials passed to the web application. The response can also be seen at the bottom. The response shows that the credentials provided are not correct.<\/p>\n<p> &nbsp;<\/p>\n<p>Click on the &#8216;next&#8217; conversation. As you keep going through the conversations, you notice that one of them has a different response from the server. The application has logged you in.<\/p>\n<p> &nbsp;<\/p>\n<figure id=\"attachment_699\" aria-describedby=\"caption-attachment-699\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.qadit.com\/blog\/wp-content\/fuzz-8-correctpass.jpeg\" alt=\"Correct credentials - Logged in\" width=\"760\" height=\"475\" class=\"size-full wp-image-699\" srcset=\"https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-8-correctpass.jpeg 760w, https:\/\/qadit.com\/blog\/wp-content\/uploads\/fuzz-8-correctpass-300x187.jpg 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-699\" class=\"wp-caption-text\">Correct credentials - Logged in<\/figcaption><\/figure>\n<p> &nbsp;<\/p>\n<p>We have seen how to use the fuzzer in Webscarab. You could use the same process to check for SQL injection vulnerabilities and XSS vulnerabilities. <\/p>\n<p> &nbsp;<\/p>\n<p>Searching through the responses generated is also a fairly time consuming process. The search plugin in Webscarab can be used to make this process simpler. That would probably be another blog sometime in the future.<\/p>\n<p> &nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s say that you have been asked by Abcxyz Inc to test their HR web portal. You decide to use fuzzing to check for easily guessable user IDs and passwords. You have collected a list of possible user names and a password dictionary has also been shortlisted by you. &nbsp;<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[12],"tags":[79,54,53],"class_list":["post-675","post","type-post","status-publish","format-standard","hentry","category-itsec","tag-fuzzing","tag-web-application-security","tag-webscarab"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9AH7Q-aT","_links":{"self":[{"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":0,"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"wp:attachment":[{"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qadit.com\/blog\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}