일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Database
- StoredXSS
- 심층학습
- 암호학
- ReflectedXSS
- 알고리즘
- 디피헬먼
- RVA
- 파일구조
- C언어
- ImageBase
- dvwa
- 프로그래머스
- 머신러닝
- 보안
- injection
- 인공지능
- 기계학습
- 웹
- 공개키
- codeup
- 코드업
- dsa
- db
- 딥러닝
- SQL
- SQL_Injection
- Cross Site Scripting
- XSS
- Today
- Total
목록정보보안 (66)
Ye0ngJae
문제 풀이 더보기 문제 페이지에 접속을 하게되면, FourOrFour 라 적혀 있는 로고와 함꼐 Enter query here.... 라고 적혀있다. 문제에서는 alert를 실행시키면 문제가 해결되도록 만들어 놓았다. 가운데 존재하는 검색창에 아무 문구나 입력해보면, Sorry 라는 문구와 함께 입력한 문자열이 출력되는 것을 알 수 있다. 따라서 해당 검색창에 를 입력해주면 성공적으로 alert가 뜨면서 문제가 해결되는 것을 볼 수 있다.
개요 공개키를 이용해 암호화, 개인키를 이용해 복호화 하는 암호화 방법으로 현재 여러 은행이나 기관에서 사용되고 있다. 원리 기존의 암호화 체계(대칭키)는 암호화와 복호화에 같은 키를 사용하였다. 이는 은행과 같이 하나의 기관/사람이 다수의 사용자와 암호화된 통신을 할 때에는 각각의 사용자마다 키를 생성하여 보관해야한다는 문제점을 안고 있었고, 이러한 문제를 해결하기 위해 나온 것이 공개키 암호화 방식이다. 공개키 암호화 방식(비대칭키)은 기존의 대칭키 방식에서의 키 분배가 어렵다는 문제점 중간에 키가 노출되면 암호화/복호화가 이루어질 수 있는 점 등을 해결하기 위하여 만들어졌다. 공개키는 사용자가 사전에 서로 미리 키 교환을 하지 않더라도 공개 채널 상에서 안전하게 통신할 수 있도록 한다. 예) 은행과..
개요 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 값이 나오는 것을 볼 수 있다.