WarGame/Lord of SQL Injection

    [LOSI] Lord of SQL Injection Level 34 - Death

    Death에는 사신이라는 의미도 있다. 그니까 "죽음"그 자체가 아니라, 사신을 만난 것이다. 아래 우리나라 사신은 아니지만, 그러려니 하고 코드로 넘어가 보자 코드 필터링되는 문자열은 전달되는 2개의 파라미터에 대해 다음과 같다. 언더바(_), 점(.), admin, 이스케이프(\) 이걸 뚫고, PW는 md5로 해싱한 결과와 비교한다. 혹시? try : ?id=' or id=0x61646d696e-- ; 쳇... WAF 썼으면 이야기 좀 해주지.... 해결방법 Answer Url : modsec.rubiya.kr/chall/XXXX.php?id=-1%27%3C@=1%20OR%20id%3C%27admio%27%20OR%20%27 저번 시간에 사용한 WAF 우회 법을 다시 들고 오자 즉 일 번에도 사용할 ..

    [LOSI] Lord of SQL Injection Level 33 - Cthulhu

    크툴루다. 크툴루 신화를 모르는 사람은 어떡하라고.... 러브크래프트의 코즈믹 호러 신화에 나오는 가상의 존재이다. 위엄과는 다르게 이번 문제에서는 비겁하게 출몰한다. 코드를 확인해보자 코드 아이구... 영어 잘 못하는데, 위에 영어가 많다. 한번 읽어보면 Paranoia level 1의 ModSecurity Core Rule Set v3.1.0으로 WAF(Web Application Firewall)이 보호한다고 되어있다.(비겁하다! 크툴루! 방화벽 뒤에 숨어서!) 링크를 눌러보면 OWASP Mod Security홈페이지가 나온다. 해결방법 Answer Url : modsec.rubiya.kr/chall/XXXX.php?id=-1'

    [LOSI] Lord of SQL Injection Level 32 - Alien

    귀여운 외계 생물 이미지를 기대한 독자들에게 미안하지만, 필자는 프로메테우스를 너무 재미있게 봤다. 에일리언 시리즈의 광팬 중 한 명이다. 코드 코드를 보면 아래와 같은 각종 예약어들이 막혀있다. 금지당한 예약어 : administrator, and, or, if, coalesce, case, 언더바(_), 점(.), prob, time query는 두 가지가 동작하고 있는데, query1은 파라미터가 작은따옴표 처리되어있지 않고, query2는 작음 따옴표 처리되어있으며 각각 두 가지의 조건문을 통과하여야만 solve("alien")이 호출된다. * coalesce는 주어진 파라미터(여러 개 들어갈 수 있다.)에서 NULL이 아닌 첫 값을 반환한다.... 뭘 막으려고 한 거지? 지X맞다. 여러 가지 시..

    [LOSI] Lord of SQL Injection Level 31 - Zombie

    으어어어어어ㅓ어엉ㅇ..ㅓㅓㅓㅓㅓ.....어어어ㅓㅓㅓㅓ...ㅓㅓ ㅋ........ㅗ....ㄷ.........ㅡ..ㄹ.....ㅡ...ㄹ.....ㅂ..........ㅈ.......ㅏ...... 코드 이번시간에는 저번과 비슷한데, rollup, join, ace가 금지되어있다. 역시 정확한 PW가 필요하다. ace.... 아마 REPL"ace"를 금지하겠다는 거니까 QUINE은 사용치 못하겠다. * 참 저번시간 이야기하지 않았는데, rollup은 group by와 같이 사용되는 함수로 그룹별 결과뿐만이 아니라 집계까지 보여준다. 혹시나??? try1 : ?pw=' or 1=1-- ; 역시 테이블이 텅 비어있다. 으으응어어ㅓ어어어어어ㅜㅡㅊ어어엉........해......ㄱ...ㅕ..ㄹ.......ㅂ.....ㅏㅇ...

    [LOSI] Lord of SQL Injection Level 30 - Ouroboros

    우로보로스는 몬스터라고 하기에는 사실 무리가 있다. 연금술에서 자주 사용되는 꼬리를 먹는 뱀 모양을 본 적이 있을까 모르겠다만, 아래 사진을 보고 이런 거구나 하고 넘어가고 코드로 만나보도록 하자 코드 오! 단순하다. 저번문제가 길다 보니 이렇게 짧은 문제를 보면 기분이 좋아진다. rollup과 join, @등이 금지되어있고, 정확한 pw를 구해야 한다. (음... join과 비슷한 걸 이용하라는 느낌인가? 한번 살펴보자)해결방법Answer Url : los.rubiya.kr/chall/XXXX.php?pw=pw%27%20union%20select%20replace(replace(%27pw%22%20union%20select%20replace(replace(%22$%22,char(34),char(39))..

    [LOSI] Lord of SQL Injection Level 29 - Phantom

    팬텀이다. 그림자라는 뜻도 있고 한 포덕하는 필자에게는 아래팬텀이 더 익숙하다. 코드를 바로 만나보자 코드 다른 문제들에 비해서는 코드가 비교적 긴편에 속하는 거 같다. 일단 SERVER REMOTE_ADDR도 가져오는 거 같고 테이블도 눈에 보이고, 신경 써야 될 부분이 많아 보인다. 아래 delete DML도 보인다. 바로 해결방법을 생각해보자해결방법Answer Url : los.rubiya.kr/chall/XXXX.php?email=admin_secure_email@rubiya.kr우리가 구해야할것은 no1=인 루프백 ip(127.0.0.1)가 들어가 있는 email값이다.(테이블에서 **********로 나오는 거) 신기한 건 처음 insert문의 join메일이 들어가는 것에 대한 필터링이 제대로..