SQLi(11)
-
17. LOS - zombie_assassin
해당 문자에서는 strrev() --> 문자열 뒤집기 addslashes --> \ 추가 필터링이 들어가있다. select id from prob_zombie_assassin where id='' and pw='' 쿼리에서 id에 "를 넣어주게 되면 query :select id from prob_zombie_assassin where id='"\' and pw='' 처럼 처리가 된다. 그러면 id=("\' and pw = ) 까지를 id로 인식하기 때문에 뒤에 or 1=1 -- - 넣어주면 된다. los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php?id=%22&pw=%20-%20--1=1%20%20ro 뒤집어서 넣어줘야하는거..
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 -
15. LOS - assassin
문제 화면이다 \' 으로 쿼터(%27)이 필터링 되어있어서 사용이 불가능하므로 다른 방안을 찾아야한다. like 문을 줬기에 _%, %_, %_% 을 활용해서 풀이할수 있다. like [0-9][a-Z]% 를 활용해서 문제를 풀어보자 import requests import string num_alpa = string.digits + string.ascii_letters cookies = {'PHPSESSID': 'l3toagi0tdl3lhfji1bkfaj7dk'} #https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=123&&no=12%0d||mid(pw,1,1)%0din%0d("0")--%0d- key = "" pri..
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 -
13. LOS - bugbear
LOS 이어서 올클 도전해보겠다. 들어가면 해당 화면이 나온다. pw 에서 ' 필터링 당하니까 [https://los.rubiya.kr/chall/bugbear\_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=1234&7no=2134] 형식으로 ' 사용안하고 pw넘어갈 수 있다. 그 다음이 문제인데 "no" 인자에서 우회 가능목록은 "'" --> no 에서 '(쿼터) 사용 안함 substr, ascii --> mid(pw, n, 1) =, like --> id in ("admin") or,and --> ||, &&(%26%26) 공백 --> %0a,%0b,%0c,%0d 으로 우회하면 다 우회 가능하다. https://los.rubiya.kr/chall/bugbear_19ebf8c..
2020.11.30