목록Web (78)
정보보안공부
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/H1KzL/btqChGkFTuV/eIPBgdjohVOamIwztVITFK/img.png)
1. 세미콜론(;)이 필터링될때 -> ;대신 -로 사용 2. document.cookie에서 .가 필터링될때 -> document.cookie 대신 document[`cookie`]로 사용 3. location.href로 이동되는 값을 임의로 변조할때 -> query 파라미터 값을 요청받을 경우 &&를 이용해 타 사이트로 리다이렉트 가능함 -> -를 이용해 alert 함수 실행 후 ^1&&를 통해 리다이렉트 가능 4. ( )괄호를 필터링할 경우 `(백틱) 사용 -> `(백틱)을 통해 XSS 실행 _=URL+0,/aler/.source+/t/.source+_[12]+/documen/.source+/t.cookie/.source+_[13]instanceof{[Symbol.hasInstance]:eval} %..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9JpaO/btqCcVo5eRj/VCWKjEktQGhRuhOOjk4MB0/img.png)
문제를 푸려고 봤더니 중국어 할수있냐는 문장이랑 GBK를 검색해보니 UTF-8처럼 중국어의 인코딩문자임을 알게되면서 멀티바이트를 이용해 푸는 문제라는 것을 알게됬다. 멀티바이트를 이용한 싱글쿼터 우회는 select * from 테이블 where 컬럼='값' 형태에서 값에 싱글쿼터를 이용한 인젝션 구문을 삽입(' or '1'='1) 할 경우 select * from 테이블 where 컬럼='값' or '1'='1' 형태가 된다. 이때 서버측 코드에서 싱글쿼터에 대해 이스퀘이프 처리를 하고있을 경우 select * from 테이블 컬럼='값\' or \'1\'=\'1'로 구문이 작성되어 구문 실행이 되지 않는데 멀티바이트와 이스케이프 문자가 만나게되면 2개를 하나의 문자로 취급하게되어 이스케이프 역할을 하지..