59번 문제에요.
배점은 200점, 분야는 DB에요.
회원가입과 로그인이 있네요.
소스를 볼게요.
lv 가 'admin' 인 값을 집어넣은다음
그 값으로 로그인을 하면 되는군요.
코드를 봤을때 인젝션 포인트는 가입부분의 phone 인거같은데
공통으로 addslashes() 가 붙으며
phone 에는
admin 0x # hex char ascii ord select
가 필터링되고
20글자 이상이어도 걸러져요.
id 에는
admin
이 필터링되네요.
1q2w3e4r / 1234
로 가입을 하고
1q2w3e4r / 1234
로 로그인을 하면
로그인이 되죠.
phone 부분에 1,'admin')#
이 들어가게 하면 되는데
#이 필터링되니 -- 로 주석처리하고
' 를 못쓰는데 16진수로 우회를 하면 0x가 필터링되고
2진수를 사용하기에는 글자수 제한에 걸려요.
그러니 id 를 nimda 로 가입을 한다음
reverse(id)
로
1,'admin')--
이 되게 하고
nimda / 1
로 로그인을 해보면?
빠밤!
문제가 풀렸네요.
'연구글 > webhacking.kr' 카테고리의 다른 글
webhacking.kr Challenge(old) 61 / DB (0) | 2020.08.25 |
---|---|
webhacking.kr Challenge(old) 60 / Server (0) | 2020.08.25 |
webhacking.kr Challenge(old) 58 / JavaScript (0) | 2020.08.25 |
webhacking.kr Challenge(old) 57 / DB (0) | 2020.08.25 |
webhacking.kr Challenge(old) 56 / DB (0) | 2020.08.25 |