Part1.
1. SQL Injection Point : 웹페이지에서 DB와 소통하는 부분에서 발생
2. 서버 측 SQL 질의문 추론 후 공격 시도
3. SQL 질의문 데이터 화면에 출력되는 경우 : Union SQL Injection
4. SQL Error 메시지 출력 : Error Based SQL Injection
5. Blind SQLi : select * from member
6. SQL Injection 대응 방안 : Prepared Statement
7. 예외) order by : White List 기반 필터링을 해줘야한다.
8. 모의해킹 할 때 주의할 점 : 실제 운영 서버에서 하기 때문에 insert, delete, update는 왠만하면 하지 않음. 사용한다면 or, 주석 남용 금지, 데이터 변조 금지
9. sortingAd=,(case+when+ascii(substr((select+user+from+dual),1,1))=0+then+1+else+(1/0)+end) payload 해석하기
sortingAd : order by 이겠구나 / ,라는 것은 order by title 뒤에 나오는 것으로 생각할 수 있다. /
Part2. XSS
1. 필터링 : 공백 필터링(/**/으로 띄어쓰기 대체가능함), 검색해서 리서치해볼 필요 있음
2. XSS : 크로스 사이트 스크립팅 (크사 취약점, 크스스 취약점)
3. 클라이언트 측 스크립트를 삽입하는 기법
4. 서버측 취약점이 아니기 때문에 피해자 = 이용자임
5. 클라이언트 스크립트 : 이용자 브라우저에서 실행되는 스크립트
6. 공격 방식 : 스크립트를 삽입해서 이용자의 브라우저에서 실행되게 만든다.
7. 크사 취약점은 찾으려면 대부분 있다.
8. 취약점을 찾았는데 왜 고쳐야하는지 어떤게 위험한지 모르면 설득력이 없다. : "기준이 그래요"라고 말하면 안됨
9. 결과 보고서를 보고 이게 왜 위험한가요?라는 질문을 한다면 반성해야함
Part3. Stored XSS - 서버에 저장되는 스크립트를 이용
두가지 방법
1. 악성 스크립트를 서버에 저장
2. 서버의 에코 기능을 이용
서버에 저장
1. 회원가입, 게시판 글 작성
2. 모든 데이터가 저장되고, 그 데이터가 출력되는 곳이 있다면 스크립트를 삽입하는게 의미가 있음
3. XSS는 Burp에서 확인해야한다.
프로세스
1. 작성한 데이터가 화면에 응답되는지 확인
2. 특수문자 체크 : HTML 특수문자가 사용가능한지 확인해야함 <'"> 4가지
3. Script 삽입
HTML에서 JavaScript 작성방법
<script>____</script>
POC : Proof Of Concept - 위험하다는 것, 취약점이라는 것을 보여주기 위해서 적용하는 코드
1. alert(1) : 보고서 쓰기 좋음. 스크립트가 사용되었다는걸 직관적으로 보여줄 수 있음. 가끔씩 alert를 필터링을 거는 경우도 있음
2. prompt(1)
3. confirm(1)
4. console.log()
Part4. Reflected XSS - 서버의 에코 기능을 이용
1. 취약점 point : 파라미터 데이터가 서버 응답에 삽입되어 오는 곳
2. 저장형 취약점은 데이터를 저장하는 곳과 출력하는 곳이 다를 수 있지만 Reflected XSS는 데이터를 삽입하는 곳과 출력하는 곳이 같음
3. 특수문자 체크해보기 <'">
4. Script 삽입
이게 왜 위험할까?
1. Stored XSS는 게시글을 읽는 사람 모두에게 실행되는 문제 발생
2. Reflected XSS는 내 컴퓨터에서만 적용되는데 뭐가 문제일까? : 파라미터에 악성 script가 들어간 링크를 전달해서 하는 공격
3. 링크를 전달해야하기 때문에 GET 메서드를 사용해야함. POST method는 공격으로 활용할 수 있는 방법이 전혀 없다.
4. Stored XSS(광역기) / Reflected XSS : 타겟팅
Part5.과제
1. 보고서 만들기
2. alert(1)을 띄우는 화면을 보여주기
3. normalticpublic@gmail.com으로 과제 제출하기
'노말틱 모의해킹' 카테고리의 다른 글
[12주차강의] XSS 기법 - DOM 객체 접근 (1) | 2025.06.25 |
---|---|
[11주차 강의] XSS로 공격하는 방법 (0) | 2025.06.17 |
[8주차 코칭] 이제 진짜 본게임이다. (1) | 2025.05.28 |
[8주차 과제] 연습 열심히 하자~ (1) | 2025.05.28 |
[8주차 강의] Error SQL Injection, Blind SQL Injection (1) | 2025.05.28 |