SECURITY 13

[WEB] NoSQL-CouchDB -dreamhack

이번에는 NoSQL중 CouchDB문제의 write-up을 작성해보려고 한다. 사이트를 접속해보자! uid, upw를 입력하여 로그인하는 폼이 보인다. 음 sqli를 하면서 보통 uid에 공격한다. 이제 소스코드를 확인해보자var createError = require('http-errors');var express = require('express');var path = require('path');var cookieParser = require('cookie-parser');const nano = require('nano')(`http://${process.env.COUCHDB_USER}:${process.env.COUCHDB_PASSWORD}@couchdb:5984`);const users = na..

[WEB] Chocoshop-dreamhack

이번에 chocoshop 문제를 풀어보자    접속을 해보니 Acquire Session 버튼이 보인다. 클릭해보자!  오른쪽 상단에 session_id, money가 보이고 가운데 shop, mypage가 보인다.  shop을 들어가보니 Perero 초콜릿과 Flag가 보인다. money가 2000이 되면 Flag값을 얻을 수 있을 것이다.  mypage도 들어가보니 coupon claim이 있고 Coupon submit이 있다. Claim을하고 Submit을 하면 1000원이 올라간다. 하지만 1000원으로는 아무것도 할 수 없다.   쿠폰을 다시 쓰려고하면 Coupon expired!라고 뜬다. 문제 설명을 보면 쿠폰을 재사용하는 게 관건인 문제인 것 같다.     자 이제 코드를 확인해보자from..

[WEB]Switching Command-dreamhack-writeup

"친절한 서비스가 아니라... 명령을 바꿀 수 있습니까?"  음... 무슨 명령을 바꿔야 할지 한 번 보자.사이트를 들어가보니 Username을 입력하고 Submit으로 보내는 기능이 있다. 자 개발자 도구를 활용하여 html 코드를 확인해보자!POST 방식으로 index.php로 username을 전송한다. 그러면 문제파일을 다운받고 index.php 코드를 확인해보자!확인을 해보니 json_decode 함수를 통해 $_POST["username"] 데이터를 JSON으로 디코딩한다.그리고  if($data ===null )을 통해 제대로 JSON으로 디코딩이 되었는지 확인하고 아니면 종료한다.그다음 username이 "admin"인 경우 종료시킨다. PHP의 switch 구문이 나온다.PHP에서 엄격한..