서버 관련 주요 중요 취약점
CVE-2019-1470 | Hyper-V 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1470
CVE-2019-1471 | Hyper-V 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1471
CVE-2019-1453 | Windows 원격 데스크톱 프로토콜 (RDP) 서비스 거부 취약점
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1453
2019/12/12
2019/11/14
2019년 11월 MS 취약점 패치 주요 사항
CVE-2019-0712 | Windows Hyper-V 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0712
CVE-2019-0719 | Hyper-V 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0719
CVE-2019-1324 | Windows TCP/IP 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1324
CVE-2019-1384 | Microsoft Windows 보안 기능 우회 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1384
CVE-2019-1424 | NetLogon 보안 기능 우회 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1424
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0712
CVE-2019-0719 | Hyper-V 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0719
CVE-2019-1324 | Windows TCP/IP 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1324
CVE-2019-1384 | Microsoft Windows 보안 기능 우회 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1384
CVE-2019-1424 | NetLogon 보안 기능 우회 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1424
2019/10/10
2019년 10월 MS 취약점 패치 주요 사항
CVE-2019-1166 | Windows NTLM 변조 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1166
CVE-2019-1230 | Hyper-V 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1230
CVE-2019-1318 | Microsoft Windows 전송 계층 보안 스푸핑 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1318
CVE-2019-1326 | Windows RDP(원격 데스크톱 프로토콜) 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1326
CVE-2019-1365 | Microsoft IIS Server 권한 상승 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1365
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1166
CVE-2019-1230 | Hyper-V 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1230
CVE-2019-1318 | Microsoft Windows 전송 계층 보안 스푸핑 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1318
CVE-2019-1326 | Windows RDP(원격 데스크톱 프로토콜) 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1326
CVE-2019-1365 | Microsoft IIS Server 권한 상승 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1365
2019/08/14
2019년 8월 MS 취약점 패치 주요 사항
배포된 여러 취약점중에, 서버를 운영하는 경우 아래와 같은 취약점은 패치 적용을 꼭 진행하는 것이 좋습니다.
CVE-2019-0714 | Windows Hyper-V 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0714
CVE-2019-0720 | Hyper-V 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0720
CVE-2019-1181 | 원격 데스크톱 서비스 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1181
CVE-2019-1206 | Windows DHCP 서버 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1206
CVE-2019-1224 | 원격 데스크톱 프로토콜 서버 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1224
CVE-2019-9511 | HTTP/2 Server 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-9511
CVE-2019-0714 | Windows Hyper-V 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0714
CVE-2019-0720 | Hyper-V 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-0720
CVE-2019-1181 | 원격 데스크톱 서비스 원격 코드 실행 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1181
CVE-2019-1206 | Windows DHCP 서버 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1206
CVE-2019-1224 | 원격 데스크톱 프로토콜 서버 정보 유출 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-1224
CVE-2019-9511 | HTTP/2 Server 서비스 거부 취약성
https://portal.msrc.microsoft.com/ko-KR/security-guidance/advisory/CVE-2019-9511
2019/08/13
C# Google API Blogger 예제
주로 REST API 호출 예제가 많은데, 구글에서 제공되는 닷넷 API Lib 사용 예제. 인증 부분에서 한참을 헤메다가.. 그리고 API 통해서 포스트내 이미지 업로드 추가는 어떻게 하는건지 못찾음 (지원 안되는것 같음?)
using System.Net.Security;
using Google.Apis.Blogger.v3.Data;
using Google.Apis.Blogger.v3;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Apis.Services;
// 인증
UserCredential credential;
using (var stream = new FileStream("client_secret_oauth.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { "https://www.googleapis.com/auth/blogger" }, // https://developers.google.com/apis-explorer/#p/blogger/v3/ 에서 허용 설정
"abc", // 구분값
CancellationToken.None,
new FileDataStore("Auth.Blogger")).Result;
}
string blogUrl = "http://bitsyrup.blogspot.com";
BloggerService BloggerService = new BloggerService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "My Project 20108",
});
// 블로그 정보
var BlogResource = BloggerService.Blogs.GetByUrl(blogUrl);
Blog blog = BlogResource.Execute();
Console.WriteLine("Blog ID: " + blog.Id);
// 포스트 데이터
Post PostData = new Post();
PostData.Title = DateTime.Now.ToString() + " " + " - test";
PostData.Content = "xxx23232 <br /><br /> ";
// PostData.Images.Add(xxx); // 이건 어떻게 작동? 활용 하는건지 못찾음. 예제 없음
// 포스트 올리기
PostsResource PostsResource = new PostsResource(BloggerService);
var post = PostsResource.Insert(PostData, blog.Id).Execute();
Console.WriteLine(post.Id);
// 포스트 목록
PostsResource.ListRequest _request = new PostsResource.ListRequest(_bloggerService, blog.Id);
_request.MaxResults = 50;
_request.FetchBodies = false;
_request.FetchImages = false;
foreach (var _item in _request.Execute().Items)
{
}
using System.Net.Security;
using Google.Apis.Blogger.v3.Data;
using Google.Apis.Blogger.v3;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Apis.Services;
// 인증
UserCredential credential;
using (var stream = new FileStream("client_secret_oauth.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { "https://www.googleapis.com/auth/blogger" }, // https://developers.google.com/apis-explorer/#p/blogger/v3/ 에서 허용 설정
"abc", // 구분값
CancellationToken.None,
new FileDataStore("Auth.Blogger")).Result;
}
string blogUrl = "http://bitsyrup.blogspot.com";
BloggerService BloggerService = new BloggerService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "My Project 20108",
});
// 블로그 정보
var BlogResource = BloggerService.Blogs.GetByUrl(blogUrl);
Blog blog = BlogResource.Execute();
Console.WriteLine("Blog ID: " + blog.Id);
// 포스트 데이터
Post PostData = new Post();
PostData.Title = DateTime.Now.ToString() + " " + " - test";
PostData.Content = "xxx23232 <br /><br /> ";
// PostData.Images.Add(xxx); // 이건 어떻게 작동? 활용 하는건지 못찾음. 예제 없음
// 포스트 올리기
PostsResource PostsResource = new PostsResource(BloggerService);
var post = PostsResource.Insert(PostData, blog.Id).Execute();
Console.WriteLine(post.Id);
// 포스트 목록
PostsResource.ListRequest _request = new PostsResource.ListRequest(_bloggerService, blog.Id);
_request.MaxResults = 50;
_request.FetchBodies = false;
_request.FetchImages = false;
foreach (var _item in _request.Execute().Items)
{
}
C# Google API PhotosLibrary 예제
C# 예제가 거의 전무 하다 시피해서... 한참을 이것 저것 테스트 헤매다가 어케 어케....
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Apis.Services;
using Google.Apis.PhotosLibrary.v1;
using Google.Apis.PhotosLibrary.v1.Data;
// 인증
UserCredential credential;
using (var stream = new FileStream("client_secret_oauth.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { PhotosLibraryService.Scope.Photoslibrary, PhotosLibraryService.Scope.DrivePhotosReadonly },
"abcApp", // 구분값
CancellationToken.None,
null).Result;
}
// 앨범 목록
PhotosLibraryService PhotosService = new PhotosLibraryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
});
var albumsList = PhotosService.Albums.List().Execute();
foreach (var item in albumsList.Albums)
{
Console.WriteLine("Album title: " + item.Title);
Console.WriteLine("Album ID: " + item.Id);
}
// 사진 목록
SearchMediaItemsRequest x = new SearchMediaItemsRequest();
x.AlbumId = "AMhW9mr-M9UF3Tpo2";
var mitems = PhotosService.MediaItems.Search(x).Execute(); // 특정 앨범
foreach(var i in mitems.MediaItems)
{
Console.WriteLine("Id : " +i.Id);
Console.WriteLine("Filename : " + i.Filename);
Console.WriteLine("BaseUrl : " + i.BaseUrl);
Console.WriteLine("ProductUrl : " + i.ProductUrl);
}
using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Google.Apis.Services;
using Google.Apis.PhotosLibrary.v1;
using Google.Apis.PhotosLibrary.v1.Data;
// 인증
UserCredential credential;
using (var stream = new FileStream("client_secret_oauth.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { PhotosLibraryService.Scope.Photoslibrary, PhotosLibraryService.Scope.DrivePhotosReadonly },
"abcApp", // 구분값
CancellationToken.None,
null).Result;
}
// 앨범 목록
PhotosLibraryService PhotosService = new PhotosLibraryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
});
var albumsList = PhotosService.Albums.List().Execute();
foreach (var item in albumsList.Albums)
{
Console.WriteLine("Album title: " + item.Title);
Console.WriteLine("Album ID: " + item.Id);
}
// 사진 목록
SearchMediaItemsRequest x = new SearchMediaItemsRequest();
x.AlbumId = "AMhW9mr-M9UF3Tpo2";
var mitems = PhotosService.MediaItems.Search(x).Execute(); // 특정 앨범
foreach(var i in mitems.MediaItems)
{
Console.WriteLine("Id : " +i.Id);
Console.WriteLine("Filename : " + i.Filename);
Console.WriteLine("BaseUrl : " + i.BaseUrl);
Console.WriteLine("ProductUrl : " + i.ProductUrl);
}
2019/08/12
구글 API 인증 At least one client secrets (Installed or Web) should be set 에러
C#, Google.Apis.Blogger.v3 Auth
처리되지 않은 예외: System.InvalidOperationException: At least one client secrets (Installed or Web)
should be set
위치: Google.Apis.Auth.OAuth2.GoogleClientSecrets.get_Secrets()
json 인증값이, 구글 API 서비스 인증이 아닌 사용자 oAuth 인증으로 변경 적용해 볼 필요가 있음. (구글 여러 API 중에, 서비스 인증을 지원 안하는 API 인것 때문으로 보임)
가장 많이 본 글
-
Microsoft iSCSI Software Target 서비스가 네트워크 주소 10.0.1.152, 포트 3260에 바인딩하지 못했습니다. 작업에 실패했습니다. 오류 코드: 10049. 이 포트를 사용하고 있는 다른 응용 프로그램 없는지 확인하십시오.
-
Windows 라이센스가 시스템 오류에 의해 복구되었습니다. 사용자의 Windows에 대한 정품 인증을 다시 받아야 합니다.
-
일상적인 관리작업에서 보안을 위해서는 관리자계정으로 로그인하지 않는 것이 좋은 방법입니다. 그러나, 관리자 권한이 필요한 프로그램의 경우 Runas를 이용하면 됩니다. Runas는 일반계정으로 로그인후, Runas를 이용해서 권한상승을 해서 관리자...