336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
IP Address (IPv4)
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$


IP Address (IPv6)
^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$


IP Address (both)
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$


E-MAIL
^[\\w!#$%&’*+/=?\`{|}~^-]+(?:\\.[!#$%&’*+/=?\`{|}~^-])+)*@(?:[A-Z0-9-]+\\.)+[A-z]{2,6}$


Postal address
[a-zA-Z\d\s\-\,\#\.\+]+


Zip Code
  
^\d{5,6}(?:[-\s]\d{4})?$


Credit Card Number
^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\d{3})\d{11})$


(USA) Social Security Number
^\d{3}-\d{2}-\d{4}$


North American Phone Number
^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$


E-MAIL
^[\\w!#$%&’*+/=?\`{|}~^-]+(?:\\.[!#$%&’*+/=?\`{|}~^-])+)*@(?:[A-Z0-9-]+\\.)+[A-z]{2,6}$


'Common knowledge' 카테고리의 다른 글

썬더버드 백업  (0) 2016.08.23
Avira Cli Scan  (0) 2016.07.28
C++ warning C4018 해결  (0) 2016.07.26
C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

packed.zip


악성코드 정보.1
 - 종류 : Packed.Backdoor.PE(1)
 - md5 : 259c82d6db2883dd135c87b0feb44069

   ☞ 악성코드의 C&C 접속
     - IP: 190.185.124.125, Port:443
     - IP: 202.137.244.198, Port:443   
     - IP: 220.132.191.110, Port:443


악성코드 정보.2
 - 종류 : Packed.Dropper.PE
 - md5 : 036bae8dd72bd70761960a90ea631ff1

   ☞ 악성코드 드랍경로
     - %USERPROFILE%\AppData\Local\\Microsoft\Office\15.0\msoia.exe /update

     - 종류 : Packed.Backdoor.PE(2)
     - md5 : 133a436ddb128520d5061e020f09cb16

   ☞ 드랍된 악성코드 복제경로

     - %USERPROFILE%\AppData\Local\Microsoft\Internet Explorer\IECompatData\ielowutil.exe /autostart

     - 종류 : Packed.Backdoor.PE(2)
     - md5 : 133a436ddb128520d5061e020f09cb16

   ☞ 드랍된 악성코드의 C&C 접속
     - IP: 190.185.124.125, Port:443
     - IP: 202.137.244.198, Port:443   
     - IP: 220.132.191.110, Port:443



'Analysis > Malware' 카테고리의 다른 글

IE9 호환성보기 목록  (0) 2016.08.03
PEiD Signatures  (0) 2016.07.28
[로컬 백도어] Image file execution option  (0) 2016.06.21
GenPack:Trojan.Generic  (0) 2016.06.21
CryptXXX Decryptor  (0) 2016.06.21
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
warning C4018: '>=' : signed 또는 unsigned가 일치하지 않습니다.

MSDN에서 설명하기를
대략 부호 있는 숫자와 부호 없는 숫자를 비교하려면 부호 있는 값을 부호 없는 값으로 변환해야 한다고한다.

즉, 두형식 중 하나를 캐스팅해서 해결이 가능하다고 한다.



1. warning C4018 발생코드

sInt adjust = newVA - oldVA;

if(adjust < 0)
{

newVA = oldVA;

if(newSize >= -adjust)

newSize += adjust;

}


2. 수정코드


int newSize2 = 0; //added
sInt adjust = newVA - oldVA;

if(adjust < 0)
{

newVA = oldVA;

newSize2 = newSize; //added

if(newSize2 >= -adjust) //modified

newSize += adjust;

}


'Common knowledge' 카테고리의 다른 글

Avira Cli Scan  (0) 2016.07.28
IP주소 정규식 패턴  (0) 2016.07.28
C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
Ubuntu crontab 사용  (0) 2016.07.20
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

warning C4996: 'mbstowcs': This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.


대략 mbstowcs 함수는 안전하지 않으니 mbstowcs_s 함수를 사용하라는거다.


수정 전
mbstowcs(wideFileName,fileName,260);


수정 후
size_t ConvertedChars = 0;
mbstowcs_s(&ConvertedChars,wideFileName,fileName,260);


위와 같이 소스를 수정하면 Warning이 발생하지 않는다.


또한, 아래와 같이 무시할 수 있지만 되도록이면 warning도 찾아서 위와같이 고쳐주자.
#pragma warning(disable:4996)



'Common knowledge' 카테고리의 다른 글

IP주소 정규식 패턴  (0) 2016.07.28
C++ warning C4018 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
Ubuntu crontab 사용  (0) 2016.07.20
python 필수 모듈  (0) 2016.07.19
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

다운로드 : http://yasm.tortall.net/Download.html
 - Win32 VS2010.zip

파일명 변경 : vsyasm.exe > yasm.exe
복사 : C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\

파일명 변경 : vsyasm.props, vsyasm.targets, vsyasm.xml > yasm.props, yasm.targets, yasm.xml
복사 : C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\

도구 > 옵션 > 프로젝트 및 솔루션 > VC++ 프로젝트설정 > 빌드 사용자 지정 검색 경로에 아래 경로 입력
  - C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations


***실행파일명같은경우에는 .asm파일의 속성에서 사용자지정빌드도구에서 명령줄에서 수정이 가능하다.



Readme.txt

========================================================================

The YASM version vsyasm.exe is designed specifically for use
with Visual Studio 2010. To tell Visual Studio where to find
vsyasm.exe, the environment variable YASMPATH can be set to
the absolute path of the directory in which vsyasm.exe is
located (this path should include the final backslash).

Alternatively you can find the directory (or directories)
where the VC++ compiler binaries are located and put copies
of the vsyasm.exe binary in these directories. The typical
location on 64-bit Windows is:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

On 32-bit Windows it is normally at:
 
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

Depending on your system you can use either the win32 or the
x64 version of vsyasm.exe, which must be named vsyasm.exe.

To use the new custom tools facility in Visual Studio 2010, you
need to place a copy of three files - yasm.props, yasm.targets
and yasm.xml - into a location where they can be found by the
Visual Studio build customisation processes.  There are several
ways to do this:

  a. put these files in the MSBUILD customisation directory,
  which is typically at:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
 
  or:
 
    C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations

  b. put them in a convenient location and set this path in the
     'Build Customisations Search Path' in the Visual Studio
     'Projects and Solutions|VC++ Project Settings' item in
     the 'Tools|Options' menu;

  c. put them in a convenient location and set this path in the
     'Build Customisation dialogue (discussed later).

To use YASM in a project, right click on the project in the Solution
Explorer and select 'Build Customisations..'. This will give you a
dialog box that allows you to select YASM as an assembler (note that
your assembler files need to have the extension '.asm').  If you have
used option c. above, you will need to let the dialogue find them
using the 'Find Existing' button below the dialogue.

To assemble a file with YASM, select the Property Page for the
file and the select 'Yasm Assembler' in the Tool dialog entry.
Then click 'Apply' and an additional property page entry will
appear and enable YASM settings to be established.
========================================================================

'Analysis > Assembly' 카테고리의 다른 글

LEA와 MOV의 차이점  (0) 2016.04.27
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

ReorderBuffer* pClass = new ReorderBuffer();

pClass->변수명
delete pClass;


ReorderBuffer class;
class.변수명


'Common knowledge' 카테고리의 다른 글

C++ warning C4018 해결  (0) 2016.07.26
C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
Ubuntu crontab 사용  (0) 2016.07.20
python 필수 모듈  (0) 2016.07.19
윈도우7 업데이트 확인 중 해결  (0) 2016.07.15
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

vim /etc/crontab


첫번째 인수: 0 ~ 59까지의 분 (minute)
두번째 인수: 0 ~ 23까지의 시간 (hour)
세번째 인수: 1 ~ 31까지의 날짜 (day of month)
네번째 인수: 1 ~ 12까지의 월 (month)
다섯번째 인수: 0 ~ 6까지의 요일 (day of week, 0-일요일)

0 3 * * * /usr/local/mini.sh  // 매일 새벽 3시에 실행
0 0 10 * * /usr/local/mini.sh  // 매월 10일 0시에 실행
0 5 * * 1 /usr/local/mini.sh  // 매주 월요일 5시에 실행
0 5 * * 0,3  /usr/local/mini.sh  // 매주 일요일, 수요일 5시에 실행
0-59/1 * * * * /usr/local/mini.sh  // 매분마다 실행, 0-59분 동안 매 1분마다 실행

*/1 * * * * /usr/local/mini.sh  // 매분마다 실행, 매 1분마다 실행(위와 동일)

* * * * * /usr/local/mini.sh     // 매분마다 실행행

/etc/init.d/cron restart


tail -100f /var/log/cron //로그 확인


/etc/cron.allow    // 허가할 사용자 ID 등록
/etc/cron.deny    // 제한할 사용자 ID 등록


참고 : http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab

'Common knowledge' 카테고리의 다른 글

C++ warning C4996: 'mbstowcs' 해결  (0) 2016.07.26
C++ 클래스 변수 사용  (0) 2016.07.26
python 필수 모듈  (0) 2016.07.19
윈도우7 업데이트 확인 중 해결  (0) 2016.07.15
언어별 null 비교문  (0) 2016.07.13
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

필수설치 모듈

sudo apt-get install build-essential libssl-dev libffi-dev python-dev


mysql 연동 모듈 : https://pypi.python.org/pypi/MySQL-python/1.2.5#downloadshttps://pypi.python.org/pypi/MySQL-python/1.2.5#downloads
(https://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.win32-py2.7.exe/download)

mysqldb 사용 : http://legacy-wiki.dgoon.net/doku.php?id=db:pythonmysql



'Common knowledge' 카테고리의 다른 글

C++ 클래스 변수 사용  (0) 2016.07.26
Ubuntu crontab 사용  (0) 2016.07.20
윈도우7 업데이트 확인 중 해결  (0) 2016.07.15
언어별 null 비교문  (0) 2016.07.13
AMAZON SSH ATTACK  (0) 2016.06.21
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
mysql 포트변경

vim /etc/mysql/my.cnf [mysqld] #port = 3306 port = 65555 service mysql restart ======================================= listen IP대역 변경 vi /etc/mysql/my.cnf #bind-address = 127.0.0.1 bind-address = 0.0.0.0 netstat -ntlp | grep mysqld service mysql restart


# mysql -u root -p
[mysql -h hostname -u username -p password database]
> show databases;
> help

> use db
> show tables;
> show columns;

사용자계정확인
> use mysql;
> select host, user, password from user; 

사용자추가
> create user userid //사용자만 추가
> create user userid@localhost identified by 'password'; //사용자추가 및 패스워드 설정
> create user 'userid'@'%' identified by 'password'; //'%'의 의미는 외부에서의 접근을 허용한다.

또는

> INSERT INTO user (Host, User, Password) VALUES ('localhost', '계정아이디', password('비밀번호'));
> INSERT INTO user (Host, User, Password) VALUES ('%', '계정아이디', password('비밀번호'));
> FLUSH privileges;

사용자제거
> drop user '사용자ID'@localhost;
> select * from user;    // 모든 사용자 ID 조회
> delete from user where user = '사용자ID';      // 사용자 삭제

데이터베이스 생성 및 삭제
> create database DB명;    // 데이터베이스 생성
> create schema DB명 default character set utf8;
> drop database DB명;       // 데이터베이스 삭제

권한설정
> GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호';
// 계정이 이미 존재 하는데 'identified by '비밀번호' 부분을 추가하면 비밀번호가 변경된다
> GRANT ALL privileges ON DB명.* TO 계정아이디@locahost IDENTIFIED BY '비밀번호';
> GRANT ALL privileges ON DB명.* TO 계정아이디@'%' IDENTIFIED BY '비밀번호';

> grant all privileges on DB명.* to userid@'%' identified by '비밀번호' ;  //모든 원격지에서 접속 권한 추가
host에 '200.100.%' 로 하면 IP주소가 200.100.X.X 로 시작되는 모든 IP에서 원격 접속을 허용한다는 의미
host에 '200.100.100.50' 으로 하면 IP주소가 200.100.100.50 인 곳에서만 원격 접속을 허용한다는 의미

> grant all privileges on test.* to userid@localhost identified by '비밀번호';
// user 에게 test 데이터베이스 모든 테이블에 대한 권한 부여 

> grant select, insert, update on test.* to user@localhost identified by '비밀번호';
// user 에게 test 데이터베이스 모든 테이블에 select, insert, update 권한 부여

> grant select, insert, update on test.* to user@localhost;   -- 패스워드는 변경없이 권한만 부여하는 경우
// user 에게 test 데이터베이스 모든 테이블에 select, insert, update 권한 부여

> grant all privileges on *.* to user@localhost identified by '비밀번호' with grant option;
// user 에게 모든 데이터베이스 모든 테이블에 권한 부여
// 전역 권한은 모두 광범위한 보안문제가 수반되므로 권한을 허용하는 경우 신중해야 함

> flush privileges;     // 변경된 내용을 반영(권한 적용)

원복
> delete from mysql.user WHERE Host='%' AND user='root';
> flush privileges;

사용자에게 부여된 권한 확인
> SHOW GRANTS FOR test@localhost; //userid 와 host명까지 붙여서 검색
> SHOW GRANTS FOR test@'%';
> SHOW GRANTS FOR test@'200.100.100.50';

사용자의 데이터베이스 사용권한 제거
revoke all on DB명.테이블명 from userid;     // 모든 권한을 삭제, DB명.테이블명 = *.*

참고 : http://link2me.tistory.com/431


336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

SysWOW64란?

%SystemRoot%\SysWOW64 디렉토리는 %SystemRoot%\system32 디렉토리가 리다이렉트된 디렉토리이며
64비트에서 32비트 시스템 프로그램이 %SystemRoot%\system32 디렉토리에서 읽고 쓰는 내용은 모두 %SystemRoot%\SysWOW64로 리다이렉트된다.

System32 디렉토리에서는 64비트 프로그램이 저장돼있는 반면, 32비트 프로그램은 SysWOW64  디렉토리에 존재한다.

WoW64 환경에서 32비트 프로그램이 HKLM\Software에 읽고 쓰는 데이터는 HKLM\SOFTWARE\Wow6432Node로 리다이렉트되며
64비트 시스템에서 32비트 악성코드가 HKLM\Software에 읽고 쓰는 흔적은 HKLM\SOFTWARE\Wow6432Node에 존재한다.
만약, 32비트 악성코드가 레지스트리 Run 항목에 자동실행을 등록한다면 해당 흔적은 아래와 같은 위치에 존재한다.
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

64비트 환경에서 실행된 32비트 악성코드의 흔적은 %SystemRoot%\SysWOW64 하위에서 찾는다.
32비트 프로그램에서 시스템 권한을 사용하는 데이터 흔적은 "%SystemRoot%\system32\config\systemprofile"가 아닌 "%SystemRoot%\SysWOW64\config\systemprofile"에서 찾아야 된다.

'Analysis > Windows' 카테고리의 다른 글

sc query  (0) 2016.08.11
Windbg 사용  (0) 2016.06.23
WebDAV에서 사용하는 메소드  (0) 2016.06.21
윈도우 보안 이벤트 // IIS 로그 분석  (0) 2016.06.21
윈도우 커맨드라인 명령어  (0) 2016.04.07

+ Recent posts