해킹/Web hacking
LORD OF SQLINJECTION darkknight write up
공부하는 뚱이
2023. 3. 6. 10:53
반응형
darkknight 정말 다크나이트한 문제였다...
우선 Hello admin을 보기 위해 sql injection 공격을 수행하려고 했다.
그런데 여기서 '(세미콜론)이 pw에 필터링이 되어있어서 pw에 sql injection 공격을 하기에는 무리가 있었다. 이것 때문에 시간을 많이 소비하게 되었지만 나무를 보지 말고 숲을 봐야 하는 마음으로 뒤에 and no=이 있었기 때문에 $_GET [no]에 sql injection 공격을 수행하였다.
?no=12%20or%20id%20like%20"admin"--%20
이렇게 작성했고
공격은 성공적이었다. 그럼 이제 pw를 찾아야 하는 단계이다.
바로 뒤에 sql 구문을 추가해서 pw의 길이를 알아보았다.
?no=12%20or%20id%20like%20"admin"%20and%20length(pw)%20like%208--%20
다행히 darknight 문제도 다른 문제들과 같이 패스워드의 길이는 8글자였다.
그럼 이제 no에 필터링되어있는 단어들을 우회하여 패스워드를 하나하나 찾아야 한다.
이때까지 사용한 pw를 찾기 위한 코드는
ascii를 사용했었다. 그러나 이번 문제에서는 ascii가 필터링되어있었기 때문에 이번에는 ascii → ord로 변경하여 사용하였다 ascii와 마찬가지로 ord도 문자를 ASCII 코드 값으로 변환할 수 있다. 따라서
이렇게 코드를 변경해서 파이썬을 돌리면
패스워드가 나온다.
pw에 찾은 패스워드를 입력해 주면
DARKNIGHT 클리어!!!
반응형