1 / 49

이주혁 ( sehkmg@Kroot )

제 7 회 해킹캠프 마지막 !!!!! 발표. 이주혁 ( sehkmg@Kroot ). 해커스쿨 서버 사무실. PHP. 해커스쿨 서버 사무실. ……. ……. ……. ……. ……. ……. ……. ……. ……. ……. id name password admin admin 011101 멍멍 정구홍 12345 sehkmg 이주혁 54321 Vrat 이제일 13579. PHP. ……. ……. ……. ……. ……. ……. ……. ……. ……. ……. 채용 공고.

kipp
Download Presentation

이주혁 ( sehkmg@Kroot )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제 7회 해킹캠프 마지막!!!!! 발표 이주혁(sehkmg@Kroot)

  2. 해커스쿨 서버 사무실 PHP

  3. 해커스쿨 서버 사무실 ……. ……. ……. ……. …….. ……. ……. ……. ……. …….. id name password admin admin011101 멍멍 정구홍 12345 sehkmg 이주혁 54321 Vrat이제일 13579 PHP ……. ……. ……. ……. …….. ……. ……. ……. ……. ……..

  4. 채용 공고 근무 시간: 24시간, 숙식 제공 휴무: 없음 조건: 빠르게 읽는 능력, 빠르게 쓰는 능력, 시키는대로 말 잘 듣는 사람 시급: 9990원 나이: 상관 없음

  5. 해커스쿨 서버 사무실 PHP mysql

  6. 해커스쿨 서버 사무실 로그인 시도 – id: 멍멍, pw: 12345

  7. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘멍멍’이고 pw가 ‘12345’인 데이터 추출해줘 넵! 멍멍 정구홍 12345 PHP mysql

  8. 해커스쿨 서버 사무실 회원가입 시도 – id: 오타해커, pw: 97531 이름: 김동완

  9. 해커스쿨 서버 사무실 members 테이블에 id가 ‘오타해커’고 이름이 ‘김동완’이고 pw가 ‘97531’인 데이터 추가해줘 넵! 추가 완료했습니다! mysql PHP

  10. 해커스쿨 서버 사무실 회원정보 수정 요청 – id: Vrat, 이름: 이재일

  11. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘Vrat’인 사람의 이름을 ‘이재일’ 으로 수정해줘 넵! 수정 완료했습니다! PHP mysql

  12. 해커스쿨 서버 사무실 회원 탈퇴 요청 – id: sehkmg, pw: 54321

  13. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘sehkmg’이고 pw가 ‘54321’인 데이터 삭제해줘 넵! 삭제 완료했습니다! PHP mysql

  14. 그런데!!!

  15. 나쁜놈 mysql

  16. 해커스쿨 서버 사무실 로그인 시도 – id: admin, pw: 1’ 또는 id가 ‘admin

  17. 해커스쿨 서버 사무실 음…. 이상한데?? PHP mysql

  18. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘admin’이고 pw가 ‘(1’ 또는 id가 ‘admin)’인 데이터 추출해줘 PHP mysql

  19. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘admin’이고 pw가 ‘1’ 또는 id가 ‘admin’인 데이터 추출중… PHP mysql

  20. ??? ??? members 테이블에서id가 ‘admin’이고 pw가 ‘1’또는id가 ‘admin’인데이터????? ??? ??? ???

  21. 해커스쿨 서버 사무실 넵! admin admin 011101 PHP mysql

  22. 그 후!!

  23. 해커스쿨 서버 사무실 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ PHP ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  24. 안되겠어!!

  25. 해커스쿨 서버 사무실 로그인 시도 – id: admin, pw: 1’ 또는 id가 ‘admin

  26. 해커스쿨 서버 사무실 문자열 안에 ‘(single quote) 가 들어가있네? \로 escape 시켜주자!! PHP mysql

  27. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘admin’이고 pw가 ‘1\’ 또는 id가 \‘admin’ 인 데이터 추출해줘 PHP mysql

  28. 해커스쿨 서버 사무실 members 테이블에서 id가 ‘admin’이고 pw가 ‘1\’ 또는 id가 \‘admin’ 인 데이터 추출중… PHP mysql

  29. 해커스쿨 서버 사무실 그런 데이터는 없습니다! PHP mysql

  30. 귀찮다…

  31. 해커스쿨 서버 사무실 앞으로 문자열 안에 ‘(single quote)가 있으면 무시하도록 해 넵! 알겠습니다!! PHP mysql

  32. 실제로는??

  33. APM 1) 문서 요청 Client (Browser) Web Server (Apache) 6) 결과 전송 5) 실행결과 2) 스크립트 실행요청 3) Query DBMS(MySQL) PHP Parser 4) Data

  34. SQL Statements members 테이블에서 id가 ‘멍멍’이고 pw가 ‘12345’인 데이터 추출해줘 • SELECT * FROM members WHERE id=‘멍멍’ AND pw=‘12345’

  35. SQL Statements members 테이블에 id가 ‘오타해커’고 이름이 ‘김동완’이고 pw가 ‘97531’인 데이터 추가해줘 • INSERT INTO members (id, 이름, pw) VALUES (‘오타해커’, ‘김동완’, ‘97531’)

  36. SQL Statements members 테이블에서 id가 ‘Vrat’인 사람의 이름을 ‘이재일’ 으로 수정해줘 • UPDATE members SET 이름=‘이재일’ WHERE id=‘Vrat’

  37. SQL Statements members 테이블에서 id가 ‘sehkmg’이고 pw가 ‘54321’인 데이터 삭제해줘 • DELETE FROM members WHERE id=‘sehkmg’ AND pw=‘54321’

  38. 나쁜놈 mysql

  39. SQL Injection 정상적인 접근 id=멍멍, pw=12345로 접속 시도 members 테이블에서 id가 ‘멍멍’이고 pw가 ‘12345’인 데이터 추출해줘 (SELECT * FROM members WHERE id=‘멍멍’ AND pw=‘12345’)

  40. SQL Injection SQL Injection 공격 id=admin, pw=1’ 또는 id=‘admin id=admin, pw=1’ OR id=‘admin members 테이블에서 id가 ‘admin’이고 pw가 ‘1’ 또는 id=‘admin’인 데이터 추출해줘 (SELECT * FROM members WHERE id=‘admin’ AND pw=‘1’ OR id=‘admin’)

  41. SQL Injection에 대한 보안 • 첫번째 방법: 추가적 보안 프로그래밍 id=admin, pw=1’ OR id=‘admin id=admin, pw=1\’ OR id=\‘admin addslashes(1’ OR id=‘admin);

  42. SQL Injection에 대한 보안 • 두번째 방법: SQL Statement 수정 SELECT * FROM members WHERE id=‘admin’ AND pw=‘1’ OR id=‘admin’ ‘SELECT * FROM members WHERE id=%s AND pw=%s’, admin, 1’ OR id=‘admin

  43. 실습: SQL Injection kroot.yonsei.ac.kr/hcamp

  44. SELECT comment FROM chat WHERE id=1

  45. SELECT comment FROM chat WHERE id=1 OR 1

More Related