일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Counting cells in a blob
- Numpy
- markdown
- Sequential Search
- adjacentElementsProduct
- codesingal
- 파이썬 포렌식
- 2750
- 파이썬머신러닝완벽가이드
- 2015 봄학기 알고리즘
- centuryFromYear
- C++
- flask
- data_structure
- collections.deque
- 피보나치 수
- codesignal
- shapeArea
- 수 정렬하기
- baekjun
- cpp
- 10953
- All Longest Strings
- Python
- 백준
- matrixElementsSum
- recursion
- almostIncreasingSequence
- til
- Daily Commit
- Today
- Total
Introfor
39번 문제이다. 소스코드를 보자. "index.phps"가 주석으로 되어있고, post 방식으로 index.php로 입력값을 전송하는 것을 알 수 있다. index.phps로 접속해본다.$_POST는 클라이언트로 부터 폼 데이터를 갖고와서 PHP스크립트 내의 변수에 값을 넣을 때 사용str_replace로 필터링을 하며, substr로 입력값 길이 제한을 두었다. (0~15에 해당되는 문자열 반환)자세히 보면 id='$_POST[id]"로 싱글쿼터(')가 없는 것을 확인할 수 있다. 그럼 싱글쿼터 값을 넣어서 쿼리 전송을 하면 되지만 ''으로 변환되는 것을 알 수 있다.문제를 풀어보면 15번째 자리에 싱글쿼터를 사용해서 ''로 바뀌더라도 15번째까지만 반환하기 때문에 문제가 없다. good ' 문제가 ..
38번 문제이다. Log injection에 대한 문제인 것 같다. 소스코드를 보면 "admin.php"가 주석 처리 되어있다. "admin.php"로 들어가게 되면 로그들이 나온다. "admin.php"에서 소스코드를 보면 힌트가 admin인 것을 알 수 있다."admin" 입력했더니 위와 같이 "you are not admin"이 index.php에서 나왔다. ("admin"값을 넣을 시 index.php로 가는 것을 주소창에서 알 수 있음)임의의 값 "aaaaa"를 입력해본다. admin.php에 자신의 아이피와 입력값이 출력되는 것을 확인할 수 있다. 다른 로그 값과 비교해보면 로깅 형식은 'IP:입력값'인 것 같다. 자신의 IP:admin이렇게 값을 입력했더니 문제가 풀렸다.