http://sdhsroot.kro.kr/problems.php#problem:Login
"그냥 점수 받아가라" 하는 문제였다.
Link를 타고 들어가서 go 라는 버튼을 누르면 php 소스가 보인다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php include("dbcon.php"); $pw=$_GET['pw']; $fpw=$_GET['pw'][1]; if(strlen($fpw)>5){ echo "<script>alert('no hack~');location.href='login.html'</script>"; } $query="select * from Login where pw='$fpw'"; $info=mysqli_query($con,$query); $result=mysqli_fetch_array($info); if($result['id']){ setcookie("flag","VmxjeE1FNUdSbk5UV0hCclUwVmFiMWxzVm1GTlZtUnhVbFJXYVZKdGVGcFdSM0JYWWxaV1ZVMUVhejA9"); echo "<script>location.href='flag.html'</script>"; } highlight_file("login.php"); ?> | cs |
GET 파라미터를 받은 데이터 중에서 index 가 1인 것을 fpw에 담아서 절차를 진행한다.
일단 배열을 보내고 싶다면 pw[]=1&pw[]=3 으로 보내면 된다.
그러면 pw[0] => 1 // pw[1] => 3 이 될것이다.
그리고 사실은 flag를 그냥 보여주고 있다. 소스에서...
(pw[1]에 'or'1 삽입)
암튼 잘 풀어서 cookie를 통해 flag를 얻고 이것을 base64로 복호화 하면
flag가 나온다.
// 너무 많이 풀어서 50점짜리 문제가 되었다 (너무 쉽긴 쉬웠다.)
'Security > WriteUp' 카테고리의 다른 글
[ ROOT ] Phishing (solved by others) (0) | 2017.12.24 |
---|---|
[ ROOT ] 보물찾기 (0) | 2017.12.24 |
[ ROOT ] Vocabulary (solved by others) (0) | 2017.12.24 |
[ ROOT ] Do you know ㅁㅁㅁ? (0) | 2017.12.24 |
[ ROOT ] Calculate (0) | 2017.12.24 |