본문 바로가기

Web Security/webhacking.kr

(16)
[Webhacking.kr] old-08 https://webhacking.kr/challenge/web-08/ Challenge 8 webhacking.kr 문제 코드
[Webhacking.kr] old-45 https://webhacking.kr/challenge/web-22/ Challenge 45 webhacking.kr 소스 코드 45번 문제도 50번 문제와 동일하게 mb_convert_encoding() 함수를 사용하고 있다. mb_convert_encoding() 취약점을 활용하여 쿼리문을 조작하면 될 것 같다. 단, 50번 문제와 다른 점은 admin 이라는 글자가 포함되면 안된다는 것이다. admin 키워드를 우회하기 위해서는 reverse("nimda"), 0x61646D696E 등 여러 방법들이 존재한다. 이 문제에서는 0x61646D696E 를 활용하면 될 것 같다. id : %aa%27 or id like 0x61646D696E# pw : guest select id from chall4..
[Webhacking.kr] old-50 https://webhacking.kr/challenge/web-25/ Challenge 50 webhacking.kr 소스 코드 50번 문제는 mb_convert_encoding() 함수의 취약점을 활용하여 문제를 해결할 수 있다. mb_convert_encoding() 함수는 멀티바이트를 사용하는 언어셋 환경에서 \ (백슬래시) 앞에 %a1~%fe 값이 들어오면 인코딩이 깨지며 \ (백슬래시)를 덮어버리게 되는 문제가 발생한다. select lv from chall50 where id='{$_GET['id']}' and pw=md5('{$_GET['pw']}') 위 쿼리를 우회하기 위해 스페이스바를 /**/로 대체하였고 mb_convert_encoding() 함수의 취약점을 활용하여 ' (single..
[Webhacking.kr] old-24 소스 코드 위 소스 코드에서 핵심은 extract() 함수입니다. extract() 함수는 배열 속 키 값을 변수화 시켜주는 역할을 합니다. 예를 들어, $arr[x]=5; $arr[y]=10; extract(arr); 를 하게 되면 $x 값은 5가 되고, $y 값은 10이 되게 됩니다. 그러므로, extract($_SERVER); extract($_COOKIE); 를 사용하여 $REMOTE_ADDR 변수에 문자열을 넣어줄 수 있게 됩니다. F12 키 > Application > 좌측 Cookies 에 가서 REMOTE_ADDR 라는 이름의 쿠키를 생성해줍니다. 그 결과, 아래와 같이 IP 주소가 바뀌게 되어 포인트를 획득할 수 있게 됩니다.
[Webhacking.kr] old-21 old-21 This problem is in webhacking.kr. URL: https://webhacking.kr/challenge/bonus-1/index.php/ If you enter the URL, you can see the below photo. First, Admin Login The result of "id: admin, pw: admin" is login fail Second, SQL Injection I tried to SQL Injection. admin' or '1'='1 Result: Wrong password While I tried to "admin' or '1'='0". Result: Wrong password You can see that the values you ..
[Webhacking.kr] old-20 old-20 This problem is in webhacking.kr. URL: https://webhacking.kr/challenge/code-4/// If you enter the URL, you can see the below photo. First, View Source If you look at the code, you can see this part. function ck(){ if(lv5frm.id.value=="") { lv5frm.id.focus(); return; } if(lv5frm.cmt.value=="") { lv5frm.cmt.focus(); return; } if(lv5frm.captcha.value=="") { lv5frm.captcha.focus(); return; } ..
[Webhacking.kr] old-18 old-18 This problem is in webhacking.kr. URL: https://webhacking.kr/challenge/web-32// If you enter the URL, you can see the below photo. First, View Source If you look at the code, you can see this part.
[Webhacking.kr] old-17 old-17 This problem is in webhacking.kr. URL: https://webhacking.kr/challenge/js-4// If you enter the URL, you can see the below photo. First, View Source you can do it like this to get the value of "unlock". console.log(unlock); If you enter the value on the input tag, you can solve the problem.