분류 전체보기(323)
-
old-55 풀이
초록색 슬라임같이 생긴 캐릭터가 보입니다 스코어와 랭크도 보이네요 마우스를 움직이니까 슬라임의 눈이 빨갛게 변하면서 움직입니다 이것만 봐선...ㅋㅋ 이게 무슨 문젠지 모르겠으니, 우선 rank 페이지부터 들어가 보겠습니다 페이지 아래에 보면 MySQL 쿼리도 보입니다 score를 눌러봤습니다 URL에는 score라는 파라미터가 생겼고, 페이지에는 id 정보와 score 값이 나옵니다 score 파라미터에 숫자를 넣어보면서 페이지가 어떻게 변하는지 확인해 보겠습니다 값을 넣어줄 때마다 다른 id가 나옵니다 (0도 넣어봤는데, 0을 넣었을 때는 아무것도 나오지 않았습니다) MySQL 쿼리가 있는 거면 Blind SQLi일 확률이 높으므로, 참/거짓 값을 넣어서 결괏값이 어떻게 나오는지 확인하겠습니다 참과 거..
2024.04.15 -
old-13 풀이
대놓고 SQL INJECTION이라 적혀있습니다 제공된 소스코드가 없으니, Blind 형식이라 생각하고 문제를 풀어보겠습니다 아무 문자열, 1, 0을 입력해 본 결과입니다 1을 넣으면 result로 1이 나오고 0은 아무것도 나오지 않으며, 그 외에는 0이 나옵니다 필터링 목록 ㅡㅡㅡㅡㅡ> #, /, --, 공백, chr, &, and, |, >,
2024.04.11 -
g00gle2 풀이
메인 페이지가 읽기 전용 스프레드시트로 되어있습니다 A1 칸을 보면 FLAG{????~~}가 적혀있고, 칸을 눌렀을 때 구글 독스 링크가 하나 나옵니다 이 링크로 접속해보겠습니다 액세스 권한이 없어서 접근이 불가능합니다 다시 시트로 돌아가보겠습니다 =REPLACE(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1x7b8Wwp3jJAr6sgEG8RmuZOh-d7gpSmYvH9tmXWDq_c/edit","A1"),6,19,REPT("?",19-6)) A1 셀에 적혀있던 내용을 가져왔습니다 원본 텍스트에서 6~19번째 글자를 전부 물음표로 바꿔주고 있습니다 아마 저 구글 독스 링크에 있는 문자열이 플래그인 것 같은데, 플래그를 가져와서 함수로 가공을 해주고 있으니..
2024.04.10 -
baby toctou🍼 풀이 (PW = FLAG)
보호되어 있는 글입니다.
2024.04.08 -
old-57 풀이
메시지를 제출할 수 있는 폼이 보입니다 아무거나 넣어보겠습니다 Done이라는 글자만 뜨고, 별다른 변화는 없습니다 msg와 se를 GET 방식으로 받아온 후, addslashes()로 이스케이핑 해줍니다 그 후 preg_match()로 se에 대한 필터링을 합니다 (select, and, or, not, &, |, benchmark) mysqli_query()를 보면, chall57의 pw를 찾아야 한다는 것을 알 수 있습니다 msg에 값을 넣어줘도 뜨는 게 없으니, se 파라미터에 sleep() 함수를 사용해서 Time-Based로 풀어주겠습니다 import requests import time url="https://webhacking.kr/challenge/web-34/index.php?msg=he..
2024.04.07 -
old-04 풀이
해시처럼 보이는 값이 쓰여있고, 그 아래에는 password 제출 폼이 보입니다 소스를 보니 SHA1 해시였네요 무지성 브포를 방지하기 위한 sleep() 함수도 보입니다 hash에는 10000000부터 99999999까지의 값 중 하나를 랜덤으로 뽑은 뒤, "salt_for_you" 문자열을 붙여 넣어줍니다 그리고 이 값에 대한 sha1 해싱을 500번 진행해 줍니다 그렇다면 이 값은 해싱을 500번 진행하고 나온 결과값이겠네요! 그런데 새로고침 할 때마다 값이 바뀝니다..? 레인보우 테이블을 만들어서 풀어야 하는 문제네요 바로 생성 코드를 만들어줬습니다 처음에는 view-source에 나온 범위 그대로 10000000부터 99999999까지 for가 돌아가도록 만들었습니다 하지만 메모장에 적히는 속도..
2024.04.03