일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디피헬먼
- 보안
- 파일구조
- 심층학습
- RSA
- 코드업
- SQL_Injection
- Cross Site Scripting
- 알고리즘
- 암호학
- SQL
- dsa
- RVA
- XSS
- 기계학습
- dvwa
- 프로그래머스
- 공개키
- 딥러닝
- 웹
- ReflectedXSS
- injection
- codeup
- C언어
- 인공지능
- Database
- db
- StoredXSS
- ImageBase
- 머신러닝
- Today
- Total
목록전체 글 (115)
Ye0ngJae
문제 배열에서 가장 큰 값이 처음 나타나는 위치를 출력하시오. 단, 함수형 문제이므로 함수 f()만 작성하시오. 입력 예시 5 1 3 2 1 3 출력 예시 2 답안 더보기 코드 ※ 다른 코드는 이미 작성되어 있고, 함수 부분만 작성해야 함 int f() { int max=0; for (int i = 0; i < n; i++) { if (max < d[i]) max = d[i]; } for (int i = 0; i < n; i++) { if(d[i] == max) return i + 1; } } 풀이 f()함수 부분을 제외한 나머지 코드는 CodeUp에서 사전에 작성을 해주었기 때문에, f()함수 부분만 따로 추가적으로 작성을 해주었습니다. 문제에서 가장 큰 값이 처음 등장하는 위치를 출력하라고 나와 있었..
개요 Command Injection은 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 실행하도록 하는 공격입니다. 어떤 웹 애플리케이션이 내부에서 시스템 명령어를 실행할 때, 만약 사용자가 입력한 값을 적절한 검증 없이 시스템 명령어의 일부분으로 전달하면 공격자는 이 값을 조작하여 임의의 시스템 명령어를 실행할 수 있습니다. (IP 주소를 사용자로부터 입력받아 Ping 결과를 리턴하는 과정) 위 그림은 사용자가 IP 주소를 입력하면 웹 서버에서 ping 명령어를 실행하고 그 결과를 알려주는 웹 페이지에 관한 사진입니다. ping 명령은 입력된 IP 주소의 시스템이 현재 동작하고 있는지 확인할 때 사용하는 명령입니다. (세미콜론을 이용하여 추가 명령을 실행하는 모습)..
보호되어 있는 글입니다.
문제 풀이 더보기 문제 페이지를 보니 아주 맛있게 보이는 쿠키가 보인다. (아마 브라우저 쿠키를 말하는 것 같다) 따라서 쿠키 값을 확인해보기로 하였다. Cookie 라는 이름의 쿠키 값을 보니 수상할정도로 base64로 인코딩되어 있는 것으로 보인다. 따라서 해당 문자열을 base64로 디코딩해봤다. 한 번 만에 결과가 나오지 않아, 3번 정도 돌리니 {"id":"2","type":"guest"} 라는 결과가 나온 것을 볼 수 있다. 이는 쿠키 값을 뜻하는 것 같아 type 값을 admin, id를 1로 바꾸어 주고, 다시 base64 인코딩 해주어 쿠키에 넣어주었다. 패스워드가 틀렸다고 한다;; 쿠키 중에 수상한 PassAdmin라는 이름의 쿠키가 있었는데, admin 대신에 해당 값으로 시도해 보았..
문제 풀이 더보기 사이트에서 일부 IP를 필터링하고 있다고 한다. 해결하기 위한 단서는 "머리말"을 생각해 보는 것이라고 하는데, 아무래도 Header을 뜻하는 것 같았다. HTTP Header에 IP 관련하여 찾아보니 X-Forwarded-For 라는 태그가 있는 것을 발견했다. 따라서 HTTP Request Header에 해당 태그를 붙여 요청하면 Flag 값이 나올 것 같아 Burp Suite를 활용해 한 번 시도해 보았다. Flag 값이 출력되었다.
문제 풀이 더보기 Do you want a flag? Input Command "flag" here => 깃발을 원하십니까? 여기에 명령 "플래그"를 입력하십시오. Flag 값을 얻기 위해선 "flag"라고 입력하라고 한다. "No Hack~" 이라 뜨며, 아무 변화가 없는 것을 확인할 수 있다. 아무래도 "flag"라는 단어가 필터링 되고 있는 것 같아 소스코드를 살펴보았다. Input Check Do you want a flag? Input Command "flag" here OK Text 변수에 GET 방식으로 전달되는 것을 알 수 있다. 또한 중간에 주석으로 배열 타입으로 입력을 받는다고 적혀 있다. 따라서 text를 배열로 넣어주면 위와 같이 flag 값이 나오는 것을 볼 수 있다.