darknight
2022. 4. 5. 12:55ㆍSite/LOS
이번시간에는 darknight를 풀어보겠습니다
아직 공부하는 입장이라 틀린것이 있더라도 양해부탁드립니다
첫번째 preg_match에서 prob _ . ( )를 필터링해주고 두번째 preg_match에서 ' 필터링
3번preg_match에서는 ' substr, ascii =을 필터링 해줍니다
addslashes함수로 pw를 필터링 해주고 쿼리문에서 가져온 pw값과 get방식으로 받은 pw값이 정확히 일치해야 하므로 이번 문제도 sql blind injection 풀이법으로 가면 될 것 같습니다
먼저 우회 방법으로
' -> "
= -> like
substr -> mid 로 대체해서 접근하면 될 것 같네요
먼저 pw의 길이부터 확인하겠습니다
?pw=&no="1" or id like "admin" and length(pw) like "8" 입력
길이가 8입니다(los pw길이는 대체로 8인가?)
다음은 mid함수를 통해 pw에 들어있는 문자열을 추출며 0-9, a-z, A-Z순으로 대입하겠습니다
pw = 0b70ea1f