web(98)
-
old-49 풀이
lv를 GET으로 받아오고, preg_match() 함수로 다양한 필터링을 적용합니다 id를 "admin"으로 만들어야 문제가 해결되므로, 입력값을 넣을 때 id='admin'을 or로 묶어 넣어줘야 합니다 그러나 or는 필터링이 되고 있으므로, ||를 사용하도록 하겠습니다 select id from chall49 where lv={$_GET['lv']} 쿼리가 이렇게 생겼는데, 여기에 적절한 값을 넣어주면 쿼리문은 아래와 같은 형태가 됩니다 select id from chall49 where lv=0||id=0x61646D696E 초록색으로 적힌 부분을 input box에 넣어주면 됩니다
2024.02.10 -
old-21 풀이
대놓고 Blind SQL Injection이라고 쓰여있습니다 admin/admin, guest/guest/, test/test 등으로 로그인을 해보겠습니다 guest 계정으로 로그인에 성공했습니다 Blind SQL Injection을 하려면 참, 거짓을 넣었을 때 Result 부분에 어떤 값이 나오는지 알아야 합니다 ' or 1=1 #과 ' or 1=2 #로 참, 거짓 값을 넣어보겠습니다 참을 넣었을 때와 거짓을 넣었을 때 결과 값이 다르므로, 정상적으로 Blind SQL Injection을 시도할 수 있습니다 파이썬으로 자동화 스크립트를 만들어서 문제를 해결할 수 있습니다
2024.02.09 -
old-46 풀이
SQL Injection 문제입니다 코드를 쭉 보니 lv에 id를 "admin"으로 만들어줄 수 있는 적절한 SQL 쿼리를 넣어주면 될 것 같습니다 그러나, lv에 preg_match()로 필터링이 적용되고 있고, str_replace()로 특수문자도 몇 가지 막혀있습니다 $result = mysqli_fetch_array(mysqli_query($db,"select id,cash from chall46 where lv=$_GET[lv]")); 이 쿼리에서 id를 "admin"으로 만들기 위해서는 id='admin'을 or 연산으로 묶어줘야 합니다 하지만 '는 addslashes() 함수로 필터링되므로, char() 함수로 admin을 표현하여 넣어주겠습니다 hex() 함수를 사용하지 않는 이유는 if문..
2024.02.09 -
old-43 풀이
이번 문제는 웹쉘 문제인가 봅니다 php로 cat /flag를 실행하는 기본 웹쉘을 만들어봤습니다 만든 웹쉘인 ws.php를 업로드해봤는데, wrong type이라고 뜹니다 아마 .php를 필터링하는 것 같습니다 .PhP로 바꾸거나 .php.jpg로 바꿔봤지만, 역시나 필터링이 되네요 아예 Content-Type을 바꿔야겠습니다 ws.php를 업로드할 때의 패킷을 잡아서 Content-Type를 jpeg로 바꿔줬습니다
2024.02.07 -
old-61 풀이
id에 값이 없으면 id 값을 guest로 고정해 주고, id에 값이 있으면 addslashes() 함수로 슬래시를 추가해 줍니다 그리고 id의 길이가 15보다 길거나, id가 필터링 조건에 걸리면 "Access Denied"를 출력해 줍니다 id가 "admin"이어야 문제가 풀리네요 바로 id에 admin을 넣어줬는데, 역시나 별다른 동작이 수행되진 않았습니다 SQL Injection을 해야 하는데, 괄호, 쉼표, 따옴표, 큰따옴표 등등 여러 특수문자가 필터링되어있습니다 방법을 찾기 위해 구글링을 하고 있는데, 아래의 게시글을 발견했습니다 https://1-day-1-coding.tistory.com/9 [DB] SQL의 별칭(alias) 사용법 별칭(Alias) 이란? 값에 별칭을 주어 접근을 별칭 ..
2024.02.06 -
old-36 풀이
현재 디렉터리에서 vi 에디터로 index.php를 편집하던 도중, 정전 때문에 파일이 날아갔다고 합니다 파일을 복구해달라고 하네요 vi에서 파일이 날아가면 swap 파일이 생성되므로, 복구가 가능할 것입니다 .index.php.swp 파일을 URL 경로에 넣어서 다운로드해보겠습니다 파일 다운로드가 완료됐습니다 HxD로 열어보겠습니다 vi 에디터에서 파일이 날아가 본 경험이 있는 사람은 빠르게 풀 수 있는 문제였습니다 ㅋㅋ
2024.02.06