SQL 인젝션 공격 연습을 하기 위해서는 Webgoat 깔려 있어야 한다
깔려 있다는 가정하에 진행하겠다.
1.guest로 로그인하고 Injection flaws 하단에 stage 1 : String SQL injection 클릭
2.인증을 우회하기 위해서 SQL 문자열 삽입을 이용해야 한다. SQL 인젝션 공격을 통해 정확한 패스워드
없이 관리자 ('Neville')로 로그인한다. 클릭 후 비밀번호을 입력해 주는데 , 아무번호나 입력해 본다.
그러면 다음과 같이 로그인 실패 화면이 뜰 것이다.
3.우리는 다음과 같이 admin으로 로그인을 해주고 , 비밀번호는 ‘or’‘=’ 입력해준다.
4.로그인 성공 화면이 다음이다.
5. 간단한 인증 우회 SQL 문자열 삽입
C:\Users\user\Desktop\3학년2학기\인터넷보안과응용\WebGoat7.1\.extract\webapps\WebGoat\plugin_extracted\org\owasp\webgoat\plugin\sqlinjection
--> 위 경로로 들어가서 sqlinjection.java파일을 편집해 줄 것인데 , 경로는 사용자 마다 다를 것이다.
--> WebGoat 부터는 동일하니 , WebGoat 파일 경로 부터 확인 해서 들어가준다.
--> 소스를 연 후에 다음과 같은 곳을 찾아 준다 . 그런데 보면 login_BACUP 메소드 인데 더 찾아보면 login메소드도 있다 .
--> 그 부분도 같이 고쳐 준다 .
6.다음과 같이 userid 값에 우리가 아까 로그인한 권한을 대입시켜 주고 , password에다가는 "or"= 넣어준다 .
or 연산자를 넣어 줌으로써 결과값을 true 만들어 버림
7.문자열 SQL injection 해보기
String SQL injection 클릭하면 다음과 같은 화면이 출력된다.
8.Enter your last name 란에 Smith를 넣어주고 [Go!] 클릭시
바로 밑에와 같은 결과값이 출력된다 . SQL문도 출력된다.
여기 까지는 잘 되는데 비밀번호 조건인
'or"=' 입력하면 결과값이 다음과 같이 뜬다...
Unexpected end of command in statement [SELECT * FROM user_data WHERE last_name = ''or"]
아직 해결하지 못해서 우선 넘어갈려고 한다...
9.SQL injection을 통해서 데이터를 수정할 수 있다.
injection flaws --> database backdoor 클릭 후 '101' 입력해 본다.
그러면 Submit밑에 user ID , password , SSN .... 결과값들이 뜬다.
그리고 다음과 같은 SQL문장을 삽입하여 준다.
SELECT userid, password, ssn, salary, email FROM employee WHERE userid=101;
UPDATE employee SET Salary=100000 WHERE userid=101
그런데 아직 이 부분을 해결하지 못했다... 해결되면 올리겠다..
'학부공부 > 인터넷보안과응용' 카테고리의 다른 글
SQL 인증 우회 정의 , 종류 , 원인 (0) | 2018.09.21 |
---|---|
SQL Injection 공격의 정의와 예시 (0) | 2018.09.21 |
실무에서 많이 사용되는 Fiddler에 대해서 알아보자. (0) | 2018.09.13 |
Oauth-심화2 (0) | 2018.09.11 |
패스워드 크랙으로 패스워드 취약성 알아보기 (0) | 2018.09.11 |
#IT #먹방 #전자기기 #일상
#개발 #일상