Lord of SQLinjection(8)
-
22. LOS - dark_eyes
바로 전에 error based가 나왔는데 이번에 if 와 같은 조건문들이 모두 막혀있어서 깜짝 놀랐습니다. https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0020e02c.php?pw=12%27or%271=1%27%20--%20- 참이 나오면 이렇게 나오지만, 쿼리가 거짓이 나오게 되면 아무것도 나오지 않아서 blind error based로 볼 수 있지만 조건문들이 모두 벤먹어서 어떻게 풀어야할지 고민했습니다. 이전에서 select 1 union select 1 구문을 그냥 if문 조건 없이 바로 박으면 되지 않을까 생각했고. https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0..
2021.02.03 -
21. LOS - IRON_GOLEN
처음 접한 error based sqlinjection 이였습니다. if문에서 조건문에 거짓이 나오면 error을 출력하게해서 풀리는 구조의 문제입니다. 처음 쿼리가 이렇게 구성되어있고, sleep과, benchmark 가 벤이 되어있으므로 timebased가 아니라고 생각하였고, '를 잘못입력했는데 에러가 출력되어서 error based인것을 확인했습니다. import requests import string cookies = {'PHPSESSID': '41dujejs6ln5lnj8ni9p7ik5bb'} #https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20substr(pw,1,1)%20=%20%22..
2021.02.02 -
19. LOS - XAVIS
https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or%20id%20=%20%27admin%27%20and%20length(pw)%20=%2012--%20%20-\ 입력하게 되면 12라는 길이를 알 수 있습니다. 평소에는8이였는데 12? 라고 하니까 뭔가 조금 이상한데 일단 쿼리는 맞으니까 계속 이어나갔습니다. 기존과 동일하게 substr함수를 활용해서 문자열을 맞추어나갔는데 쿼리를 URL = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php?pw=12%27%20or id = 'admin' and substr(pw,"+str(i)+..
2021.01.31 -
18. LOS - NIGHTMARE
문제를 보면 pw를 참으로 만들어주고, 뒤를 주석처리해주면 될 것같다. 하지만 -- - 와 # 가 모두 필터링당해서 다른 주석 처리인 ;%00 을 사용해야한다. 앞에 pw 를 찾을 만들어주기 위해서는 sql 자동 형변환을 이용하면되는데 'a'=0 (참) a = int --> 0 이므로 이를 이용하면 된다. 따라서 payload : ?pw=')=0;%00 성공이다.
2021.01.30 -
16. LOS - succubus
예전에 13번이였나 풀면서 어려워서 더 이상 못 풀었던걸로 기억하는데 확실히 그간 성장이 있기는 있었다는 것을 느낀다. 문제 풀면서 접한것들이 많아서인지 보면 기발한 아이디어들이 조금씩 생각나는 것 같다. 해당 문제를 보면 ' 쿼터가 필터링 되어있다. 이를 우회하기 위해서는 흔히 사용하는 파이썬 문법에서 string = "It's me" 라고 표현할때 string = "IT\'s me" 라고 써야 하는것을 다들 알것이다 이를 활용해서 풀었다. 아래와 같이 ?id=\&pw=or 1=1 -- - 이라고 넣어주면 쿼리가 select id from prob_succubus where id='\' and pw='or 1=1 -- -' 밑줄 부분을 id값으로 인식해서 우회가 가능하다 (grin)
2021.01.29 -
14. LOS - gian
실행하면 해당 화면이 나온다 get으로 from 뒤를 받는데 해당 부분이 붙어 있어서 sql 쿼리가 실행 안된다. 필터링에서 제외된 띄어쓰기 문자를 넣으면 된다. %0a~%0d 를 넣어봤더니 %0a --> X %0b --> O %0c --> O %0d --> X 결과가 나왔다 필터링 그대로 들어가나보다. https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php?shit=%0c 풀린다(grin)
2021.01.28