m0nd2y(321)
-
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 -
20. LOS - DRAGON
혀누랑 함께 디코로 통화하면서 문제를 풀어서 훨씬 수월하게 풀었다. 현우는 개빡고수인게 분명하다. 처음에 이렇게 나와있는데, #이 한줄 주석이니까 개행문자를 넣어줘서 풀면 될 것 같다고 생각했다. 앞에 guest가 있으니까 and연산으로 앞에를 무효화 시켜주고, 뒤를 or연산으로 admin 박아주면 풀릴것이다. https://los.rubiya.kr/chall/dragon_51996aa769df79afbf79eb4d66dbcef6.php?pw=%27%0a%20and%20pw%20=%20-1%20or%20id%20=%20%27admin%27%20--%20- 이렇게 쿼리를 넣어주니까 query : select id from prob_dragon where id='guest'# and pw='' and pw ..
2021.02.01 -
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 -
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