webhacking/sql, sql injection

rubiya.kr 19번 다른방법.(원래방법?)

qkqhxla1 2014. 9. 11. 11:36

if등의 조건문이 전부 막혔을시 이전 글에서 coalesce라는 이상한 함수를 써서 해결했었는데


페이스북 그룹 생활해킹에서 또다른 해답이 올라왔는데 너무 좋은 방법같아서 포스팅...


Izayoi Sakuya님의 방법인데..




이런식으로도 할수 있다고 함.. 우와 신기... 더 아래 댓글에서 union은 내부적으로 임시 테이블을 만들고 


쿼리문의 결과를 테이블화 한 후에 리턴하므로 저런 에러가 발생하는것 같다고 추측하셨음..


어제 적었던


a' or coalesce(substr~ or null, (에러나는서브쿼리)); 나 이 글의


a' or (select 0x~ union select substr~); 를 조합하면 엄청나게 많은 벡터가 생성될듯.


다만 위 구문은 or이 안막혀있어야 하고, 아래구문은 select,union같은 문자열이 막히면 


공격벡터 생성이 힘들것같다. 몇개만 더 발견하면 진짜 무한대의 가능성이 엿보일듯


---------------------------------------------------


추가 : 문제 제작자분도 이렇게 푸는게 원래 의도라고 한다.


or (select 32~128 union select ascii(substr(pw,1,1))); 요런식이면 더 가독성이 좋다고 하네요.

'webhacking > sql, sql injection' 카테고리의 다른 글

information_schema  (0) 2014.09.28
wargame.kr lonely_guys  (0) 2014.09.28
rubiya.kr 19번.  (0) 2014.09.10
mysql hex()함수에 관해서  (0) 2014.09.06
rubiya.kr 15번.  (0) 2014.09.06