** 기능 분석 및 시나리오 설계
1. 로그인 기능
>인증 우회(다른 사람 계정을 로그인 할 수 없을까?- 비밀번호 모르고)
> SQL Injection : 데이터 추출, 조작
2. 게시판(로그인 해야 이용 가능)
>로그인 안하고 쓸 수 없을까?
>인가(다른사람 글을 수정, 삭제)
> SQL Injection: 데이터 추출, 조작
3. 회원가입
-아이디 중복체크
-주소검색
> SQL Injection: 데이터 추출, 조작
>이미 존재하는 계정으로 계정 생성
4. 비회원 게시판(비밀번호로 잠긴 게시판)
>비밀번호 모르고 게시판 열 수 있을까?
5.마이페이지
비밀번호를 모르고 마이페이지를 열 수 있을까?
*로그인 분석
-식별과 인증 동시
select ~ where id='nomal_te (사이에) st' and pass=''
DB마다 문법이 다름 , Oracle = || %2b ' '
%25%27 도 체크해봐야함
-식별과 인증 분리
select pass ~~ where id =''
주석을 넣어 되면 동시, 안되면 분리
-> SQL Injection
-------------------------------------------------
*아이디 중복검사
SQL Injection 확인
<~~는 사용 가능한 아이디 입니다> 부분
auto 체크
nomal_te'%2b'st
nomal_test and '1' or '1 참/거짓
login 요청에서 board으로 감.
board 패킷으로는 게시글이 보인다.
*인가 취약점 발생
- 클라이언트 측 검증: 검증 서버측에서 해주면 된다.
>>앞에 alert만 지우면 입장 가능.
>> 댓글을 클라이언트 측 비번검증 페이지. <script>
패킷에 비밀번호가 노출되는 경우도 있음
- 직접 비교 플로우 생략
>> 응답 차이 분석 버프 내 Comparer
Sync views로 차이 비교
인가/인증 원하는대로 분류.
----------------------------------------------------------------
내 보고서 리뷰
>>>개요에 URL 아니고 [대상 이름, 회사이름] 임.
>>>순서는 가장 자신있는 취약점 순으로, 위험한 취약점만 기입해도 된다.
>>>디렉토리는 정도는 생략해도 됨.
3.1 커뮤니티 B
3.1.1. Directory 노출
>>>이구조로 작성
*오타 고치기
*와이어 샤크나 버프스윗 글씨 크기 주의하기.
*보안권고안은 case 한번에 몰아서쓴다.
1. ~~는 어떻게
2. ~~는 어떻게
* 데이터 평문 전송 취약점 권고안시 직관적으로 >> HTTPS 통신을 사용한다.
**SQL XSS 시 웹 방화벽 사용도 권고안으로 기재가 가능하다.
------------------------------------------------------------------------------------
**Stored, reflected 두가지만 대표 1개 쓰면 된다.
XSS는 쓰기 저장 읽기 다르게해야하지만,
CSRF는프로세스 페이지만 제시해도 된다.
**유추가능한 인증정보 이용
>> 이 경우 왜 위험한지 설명 자세히해야한다. 이해를 못하는 경우가 있다.
>> 비밀번호
1234 이렇게 못만드는데, 클라이언트 측 검증시
서버요청 때 바꿔서 1234 변경시 처리되는 경우가 있음.
**불충분한 세션정보 파기에 대한 생각
세션 파기는 사이트를 닫아도 처리되지 않는다.
서버측은 나갔는지 들어왔는지 모르기 때문이다.
session Table DB 구조
id sessrion ID
nomaltic alkefjalfjelwafl;a
wlkeflkwjefljwekfjwklej
보통 세션아이디는 새로 들어오면 같은 아이디로 세션 갱신하는 식으로 세션이 관리된다.
----------------------------------------------------------------------------------------------------
*LDAP Injection
[문헌 참고 공부]
[개인적으로 문헌 번역 중]
📝 LDAP injection & Blind LDAP Injection 문헌 번역 (수정중)
LDAP Injection & Blind LDAP Injection In WEB Application 1. 도입 데이터 베이스에 저장된 데이터의 양이 최근 급격히 증가되면서, 예민한 데이터 중 일부는 조직을 위해 민감하고 사적으로 관리한다...
myungjjju.tistory.com
- LDAP(Lightweight Directory Access Protocol)
--> 가벼운 DB
-> 데이터를 조회
SQL Injection 과 똑같다.
-> <SSO:Single Sign On> 에서 사용하는 경우가 있다, 혹은 로그인에서!
-- Filter
find("(&(id=nomaltic)(pass=1234))")
<?php
searchfilter= "(&(id=" .$userid. ")(pass=".$userpw."))"
?>
*시 전체 데이터 뜻 같은 문법만 알면 됨.
id=admin*) -> ldap에러문법이 뜸
id=admin* pass=*)(& 로 우회하면 Injection 가능
'Web hacking > Nomaltic) 웹 해킹 수업 노트 👩💻' 카테고리의 다른 글
[17주차] 보고서 리뷰(팁, 예상질문) (0) | 2022.02.10 |
---|---|
📝 LDAP injection & Blind LDAP Injection 문헌 번역 (0) | 2022.02.04 |
[12주차] SSRF 개념 및 실습 (0) | 2022.02.03 |
[12주차] JWT 개념 (0) | 2022.02.03 |
구글 클라우드 서비스 VM 생성부터 쿠키 탈취 실습까지 (0) | 2022.02.02 |