wonder

정보보안 스터디 - 13주차 4일 - 주통기반 취약점 분석 28항목 연구 본문

hacking study/모의 해킹 프로젝트

정보보안 스터디 - 13주차 4일 - 주통기반 취약점 분석 28항목 연구

wonder12 2023. 1. 9. 01:36

☞ 주통기반 취약점 분석 28항목 연구

체크리스트를 확인하며 취약점을 점검합니다.

 

약한문자열강도
회원가입을 할 때문자열에 대해서특수기호 등을 적용하지 않고 길이 제한이 짧을 경우 입니다. 사전 대입 공격으로 비밀번호를 알아내기 쉽습니다. 또한 횟수제한이 없다면 더 수월합니다.

> 대응방안: 횟수 제한을 초과 관리자에게 통보 및 계정 잠금 대응을 해야합니다.
자동화공격
로그인 시도, 게시글 등록, SMS 발송, 비번 찾기 등 반복적인 요청시에 횟수제한을 안한 경우 입니다. 

> 대응방안: 캡챠나 횟수 제한을 해야합니다.
불충분한 세션 만료
세션이 만료되는 시간이 길 때 세션에 접근하기 쉽기 때문에 취약합니다.

> 대응방안: 세션이 만료되는 시간을 10분 이내로 하고 그 이후로는 값을 자동으로 바꿉니다.
쿠키 변조
쿠키 또는 세션이 평문으로 보이는 경우입니다. 또한 클라이언트 측 세션을 사용하는 경우가 있습니다. 흔치 않지만 확인합니다.

> 대응방안: 쿠키 또는 세션에 대해서 안전한 알고리즘이 적용되어 있지 확인하고, 서버측 세션을 사용합니다.

 

 

 

 

 

 

 

 

 

 sqli

sql 쿼리가 들어가는 부분이라면 다른 건 몰라도 에러sqli는 체크해줍니다. 

' and updatexml(null,concat(0x3a,(database())),null) and '1'='1

에서 and가 안될 경우에는 or로 사용합니다.

또한 database()에는 괄호로 감싸줘 서브쿼리를 만들어 줘야 적용되는 경우도 있습니다.

 

 

You can't specify target table 'users' for update in FROM clause 에러가 뜬다면 막아놓은게 아니라 서브쿼리를 넣어줘야하는 부분입니다. 

 

select uid from users where name='wonder' 
이였다면 

select uid from (select uid from users) A where name='wonder'
로 적용 시키면 작동합니다. alias 별칭은 as A= A 로 서로 같은 의미입니다.

참고로 함수기능은 MIN(board) 이런 형식으로 적용시킵니다.

 

 

 

Comments