분류 전체보기(363)
-
devtools-sources 풀이
뭔가 여러 가지 파일들이 있습니다. 문제 정보를 보면 개발자 도구의 Sources 탭 기능을 활용하라 했으니, 이 파일들을 Sources에서 열겠습니다. 그리고 하나하나 파일을 열어가며 Ctrl+F를 누르고 FLAG 형식인 DH{ 를 검색해보겠습니다. main.4c6e144e.map라는 파일에서 FLAG를 찾았습니다. 예전에 풀었던 cookie 문제보다 더 간단한 것 같습니다.
2021.09.05 -
php-1 풀이
view.php를 보면 flag를 필터링해주고 있는 걸 볼 수 있습니다. 이 필터링을 우회해야하는데, 이 부분은 php wrapper 취약점을 써서 해결해보겠습니다. http://host1.dreamhack.games:10099/?page=php://filter/convert.base64-encode/resource=/var/www/uploads/flag 쿼리에 이렇게 입력을 넣고 엔터를 누르면 아래와 같이 화면이 바뀌게 됩니다. 이제 여기에 나온 값을 Base64로 디코딩하면 FLAG가 나올 것입니다.
2021.09.05 -
giant 풀이 2021.09.01
-
[CTF-D] 우리는 이 파일에 플래그를... 풀이
이번 파일은 확장자가 없습니다. 메모장으로도 열어보고 HxD로도 열어봤습니다. 파일의 시그니처가 1F 8B 08 08 ~~~ 이렇게 되어있는데, 이런 시그니처는 처음 보네요. 검색을 해보겠습니다. https://filesignatures.net/index.php?page=search File Signature Database:: Search File Signatures. filesignatures.net 어쩌다 보니 파일 시그니처를 모아둔 사이트를 발견했습니다. 1F 8B 08이 시그니처인 파일은 GZIP 파일이라 합니다. GZIP 파일의 확장자는 gz이므로, flag의 파일명에 .gz를 추가한 후에 압축을 풀어보겠습니다. 이 flag 파일을 열면 FLAG가 들어있습니다.
2021.08.30 -
bugbear 풀이
이번 문제 역시 pw에서 ' 가 필터링되어있습니다. no에서는 ', substr, ascii, =, or, and, (공백), like, 0x를 필터링합니다. no에서의 조건이 저번 문제보다 훨씬 까다로워졌습니다. 우회 방법은 아래에 정리해놓겠습니다. ' -> " substr -> left(), right(), mid() ascii -> ord(), hex() =, like -> instr, in or -> || and -> && (공백) -> /**/ https://zetawiki.com/wiki/SQL_IN_%EC%97%B0%EC%82%B0%EC%9E%90 SQL IN 연산자 - 제타위키 다음 문자열 포함... zetawiki.com like가 필터링돼서 조금 당황스러웠지만, 구글링을 해보니 in이라..
2021.08.30 -
darkknight 풀이
대충 보니 이 문제 역시 Blind SQL injection인 것 같습니다. 이번 문제는 preg_match()를 이용한 필터링이 좀 많습니다. pw는 ' 문자가 필터링되고, no는 ', substr, ascii, =가 필터링됩니다. 각각 우회 방법은 아래에 정리해놓겠습니다. ' -> " = -> like() substr -> left(), right(), mid() ascii -> ord() 우선 pw의 길이를 알아보겠습니다. no=0 or length(pw) like [숫자] 위의 구문을 쿼리에 삽입해서 Hello admin이 뜨는 경우를 확인해보겠습니다. 이제 pw를 알아내기 위해 파이썬으로 코드를 짜서 돌려보겠습니다.
2021.08.29