[DreamHack] image-storage
www.notion.so/DreamHack-image-storage-f6b499e1d83546b296dd6aebaea0183e [DreamHack] image-storage Source Code www.notion.so
www.notion.so/DreamHack-image-storage-f6b499e1d83546b296dd6aebaea0183e [DreamHack] image-storage Source Code www.notion.so
소스코드의 일부분이다. 코드를 보면 POST로 데이터를 전송해야 정상적으로 userinfo를 보여주게되는데, 이때 따로 검증을 하는 구간이 없다. 따라서 이 부분을 활용해 상위폴더의 flag를 출력해줄 수 있다. 하지만, 이 부분에서 guest를 입력시 0으로 변환되어 값이 전송되고, admin을 입력시 1로 변환되어 전송된다. 그 이외의 값은 undefined로 변경되어 날라간다. 따라서 burpsuite를 통해서 날아가는 값을 변경해주어도 되지만, Chorme Console창에서 아래와 같이 진행하여도 된다. 위 javascript를 보면 users[document.getElementById('userid').value]; 를 통해 최종 값이 입력된다. 따라서 users['원하는 입력 값']='../..
소스 코드의 일부이다. 얼핏 보기에 따로 필터링 되는 부분이 없기에 아주 기초적인 sql injection 문제다. userid가 admin일 경우 flag를 출력된다. 따라서 admin의 password는 랜덤으로 설정되기 때문에 sql query문에서 userid를 admin으로 설정해주고 뒷 부분은 주석처리를 하면된다. select * from users where userid="admin" -- and userpassword="{userpassword}" 의 형식으로 만들어 주면 FLAG가 뜬다.
Link : www.notion.so/DreamHack-Cookie-5a3a2b2cb3fd4ba38c727ca96844e22b