Information Security Study
sql injection bypass WAF 본문
sql injection으로 flag를 찾는 문제이다.
해당 문제를 접속하면 볼 수 있는 페이지다.
user 테이블에서 uid를 검색해 어떠한 결과 값을 확인할 수 있는 웹 페이지인 것 같다.
init.sql 에는 user 테이블의 정보가 담겨있다.
user 테이블에서 uid, upw는 총 5개가 있다.
admin의 upw가 플래그임을 볼 수 있다.
user 테이블의 uid를 입력하면 그대로 입력한 값이 출력되지만
admin을 입력하니 접근할 수 없다는 문자열이 출력되었다.
app.py를 확인해보니 admin을 포함해 몇 요소들이 필터링되어 있었다.
입력한 data가 keywords에 포함되면 아까 보았던 접근이 되지 않는다는 문자열을 출력한다.
다음은 키워드를 우회하기 위한 코드이다.
and = &&
or = ||
admin = concat('ad', 'min')
다음은 비밀번호 자리수를 알아내는 쿼리다.
'||(length(upw))like(44)#'
admin이 나온 것을 보아 admin의 비밀번호는 44자리임을 알 수 있다.
다음은 비밀번호를 알아내는 쿼리다.
'||(ascii(substr(upw,1,1)))like(68)#'
admin이 나왔다.
파이썬으로 코드를 작성해 admin의 upw 값을 알아내보았다.
위에 작성한 비밀번호를 알아내는 쿼리로 파이썬 코드를 이용해 플래그를 얻을 수 있었다.
플래그 값을 얻는데 시간이 조금 소요됐다..
'Dreamhack > Web Hacking' 카테고리의 다른 글
pathtraversal (0) | 2023.08.23 |
---|---|
simple-operation (0) | 2023.08.16 |
image-storage (0) | 2022.11.02 |
file-download-1 (0) | 2022.11.02 |
Mango (0) | 2022.09.29 |