write-up(web)
![[Webhacking.kr] Challenge old-52 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcMM2Tw%2FbtsuQyteZ0G%2FAAAAAAAAAAAAAAAAAAAAACTxwsY3ZhzxdgcAg6qT24uuwWyGQ-ponX1a3PMMg9Ff%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3Dv0UmNXxh%252B234kymNXNv1dSUATiw%253D)
[Webhacking.kr] Challenge old-52 write-up
문제 화면입니다. admin page로 접속하는 문제 입니다. admin page로 접근하면 다음과 같이 로그인 창이 뜹니다. 취소를 누르면 다음과 같은 창을 띄워줍니다. 소스 코드는 다음과 같습니다. 플래그를 얻기 위해서 2가지 조건이 필요함을 알 수 있습니다. 1. admin으로 로그인 2. 172.17.0.0 대역의 IP 1번은 SQLI로 통과할 수 있으며 2번은 문제에서 제공하는 프록시 페이지를 이용하여 해결할 수 있습니다. 먼저 SQLI를 수행하여 admin으로 로그인합니다. (비밀번호는 아무거나 입력) admin으로 로그인하였습니다. 로그인할 때 Authorization 헤더에 입력 값이 들어감을 확인할 수 있습니다. 이제 프록시를 활용해 admin page에 접근하자 다음과 같이 Unauth..
[Webhacking.kr] sliping beauty write-up
open($_FILES['upload']['tmp_name']) === true){ for($i = 0; $i numFiles; $i++){ $filename = $zip->getNameIndex($i); $filename_ = $filename.rand(10000000,99999999); if(strlen($filename) > 240) exit("file name too long"); if(preg_match('/[\x00-\x1F\x7F-\xFF]/',$filename)) exit("no hack"); if(copy("zip://{$_FILES['upload']['tmp_name']}#{$filename}", "./upload/{$filename_}..