July 17, 2020

cURL(Communicate using various protocols)


cURL is a communication tool using various protocols.
cURL은 다양한 프로토콜을 지원하는 통신용 툴.

* Supported: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,  IMAPS,  LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP.




1. Feature  특징
❑ Even with minimal installation of the operating system, it is installed.
최소한으로 운영체제를 설치해도 함께 설치됨.
❑ Various references on the Internet.
인터넷에 존재하는 다양한 레퍼런스.




2. How to install  설치 방법
   : No need to install.  설치 불필요.




3. How to use  사용법
❑ GET method - defalt
GET 메소드 - 일반
$ curl -v --get http://ifconfig.me
*   Trying 216.239.36.21:80...
* TCP_NODELAY set
* Connected to ifconfig.me (216.239.36.21) port 80 (#0)
> GET / HTTP/1.1
> Host: ifconfig.me
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Thu, 16 Jul 2020 13:45:23 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 13
< Access-Control-Allow-Origin: *
< Via: 1.1 google
<
* Connection #0 to host ifconfig.me left intact
12.xxx.xxx.xxx
$
$ curl -i --get http://ifconfig.me
HTTP/1.1 200 OK
Date: Thu, 16 Jul 2020 13:45:44 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 13
Access-Control-Allow-Origin: *
Via: 1.1 google

12.xxx.xxx.xxx

-i: Include header.
헤더 포함.

-v: Include detailed description(verbose).
세부 사항 포함.




❑ GET method - parameter
GET 메소드 - 파라미터
$ curl -v --get --data-urlencode "bb=12345<>#" http://ifconfig.me
*   Trying 216.239.34.21:80...
* TCP_NODELAY set
* Connected to ifconfig.me (216.239.34.21) port 80 (#0)
> GET /?bb=12345%3C%3E%23 HTTP/1.1
> Host: ifconfig.me
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Thu, 16 Jul 2020 16:06:18 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 13
< Access-Control-Allow-Origin: *
< Via: 1.1 google
<
* Connection #0 to host ifconfig.me left intact
12.xxx.xxx.xxx

--data-urlencode: Transfer parameters using URL encoding.
URL 인코딩을 사용하여 파라미터 전송.




❑ POST method - default
POST 메소드 - 일반
$ curl -X POST --data-urlencode "param1=1<>#" --trace-ascii /dev/stdout http://ifconfig.me
Note: Unnecessary use of -X or --request, POST is already inferred.
== Info:   Trying 216.239.32.21:80...
== Info: TCP_NODELAY set
== Info: Connected to ifconfig.me (216.239.32.21) port 80 (#0)
=> Send header, 145 bytes (0x91)
0000: POST / HTTP/1.1
0011: Host: ifconfig.me
0024: User-Agent: curl/7.68.0
003d: Accept: */*
004a: Content-Length: 17
005e: Content-Type: application/x-www-form-urlencoded
008f:
=> Send data, 17 bytes (0x11)
0000: param1=1%3C%3E%23
== Info: upload completely sent off: 17 out of 17 bytes
== Info: Mark bundle as not supporting multiuse
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 37 bytes (0x25)
0000: Date: Thu, 16 Jul 2020 17:01:14 GMT
<= Recv header, 47 bytes (0x2f)
0000: Content-Type: application/json; charset=utf-8
<= Recv header, 21 bytes (0x15)
0000: Content-Length: 235
<= Recv header, 23 bytes (0x17)
0000: Vary: Accept-Encoding
<= Recv header, 32 bytes (0x20)
0000: Access-Control-Allow-Origin: *
<= Recv header, 67 bytes (0x43)
0000: Set-Cookie: flash=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GM
0040: T
<= Recv header, 33 bytes (0x21)
0000: X-Content-Type-Options: nosniff
<= Recv header, 17 bytes (0x11)
0000: Via: 1.1 google
<= Recv header, 40 bytes (0x28)
0000: Expires: Thu, 16 Jul 2020 17:01:14 GMT
<= Recv header, 24 bytes (0x18)
0000: Cache-Control: private
<= Recv header, 2 bytes (0x2)
0000:
<= Recv data, 235 bytes (0xeb)
0000: {.  "ip": "xxx",.  "city": "xxx",.  "region": "xxx
0040: ",.  "country": "xxx",.  "loc": "xxx",.  "org": "xxx
0080: xxx",.  "postal": "xxx",.  "timezone": "xxx",.
00c0: "readme": "https://ipinfo.io/missingauth".}
{
  "ip": "xxx",
  "city": "xxx",
  "region": "xxx",
  "country": "xxx",
  "loc": "xxx",
  "org": "xxx",
  "postal": "xxx",
  "timezone": "xxx",
  "readme": "https://ipinfo.io/missingauth"
== Info: Connection #0 to host ifconfig.me left intact

-i: Include header.
헤더 포함.

--trace-ascii /dev/stdout: Print sending/receiving contents to the standard output device. This can identify the body.
표준 출력 장치로 송수신 내용을 출력. 이렇게 하면 바디를 확인할 수 있다.




❑ POST method - JSON
POST 메소드 - JSON
$ curl -X POST -d '{"param1":1, "param2":2}' -H "Content-Type: application/json" --trace-ascii /dev/stdout http://ifconfig.me
Note: Unnecessary use of -X or --request, POST is already inferred.
== Info:   Trying 216.239.38.21:80...
== Info: TCP_NODELAY set
== Info: Connected to ifconfig.me (216.239.38.21) port 80 (#0)
=> Send header, 128 bytes (0x80)
0000: POST / HTTP/1.1
0011: Host: ifconfig.me
0024: User-Agent: curl/7.68.0
003d: Accept: */*
004a: Content-Type: application/json
006a: Content-Length: 24
007e:
=> Send data, 24 bytes (0x18)
0000: {"param1":1, "param2":2}
== Info: upload completely sent off: 24 out of 24 bytes
== Info: Mark bundle as not supporting multiuse
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 37 bytes (0x25)
0000: Date: Thu, 16 Jul 2020 16:57:27 GMT
<= Recv header, 47 bytes (0x2f)
0000: Content-Type: application/json; charset=utf-8
<= Recv header, 21 bytes (0x15)
0000: Content-Length: 235
<= Recv header, 23 bytes (0x17)
0000: Vary: Accept-Encoding
<= Recv header, 32 bytes (0x20)
0000: Access-Control-Allow-Origin: *
<= Recv header, 67 bytes (0x43)
0000: Set-Cookie: flash=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GM
0040: T
<= Recv header, 33 bytes (0x21)
0000: X-Content-Type-Options: nosniff
<= Recv header, 17 bytes (0x11)
0000: Via: 1.1 google
<= Recv header, 40 bytes (0x28)
0000: Expires: Thu, 16 Jul 2020 16:57:27 GMT
<= Recv header, 24 bytes (0x18)
0000: Cache-Control: private
<= Recv header, 2 bytes (0x2)
0000:
<= Recv data, 235 bytes (0xeb)
0000: {.  "ip": "12.xxx.xxx.xxx",.  "city": "Seoul",.  "region": "xxx
0040: ",.  "country": "xxx",.  "loc": "xxx",.  "org": "xxx
0080: xxx",.  "postal": "xxx",.  "timezone": "xxx",.
00c0: "readme": "https://ipinfo.io/missingauth".}
{
  "ip": "12.xxx.xxx.xxx",
  "city": "xxx",
  "region": "xxx",
  "country": "xxx",
  "loc": "37xxx",
  "org": "xxx",
  "postal": "xxx",
  "timezone": "xxx",
  "readme": "https://ipinfo.io/missingauth"
== Info: Connection #0 to host ifconfig.me left intact

-d: Include unencoded body.
인코딩 되지 않은 바디를 포함.

-H: Set header.
헤더 설정.




❑ File download
파일 다운로드
$ curl -O https://github.com/blackbird71SR/Hello-World/archive/master.zip
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current100   130  100   130    0     0   4814      0 --:--:-- --:--:-- --:--:--  4814

-O: Download without changing the file name.
파일 이름을 변경 없이 다운로드.

May 25, 2020

no-more-secrets(decryption effect)


https://github.com/bartobri/no-more-secrets

The Linux software for data decryption effect.
암호 복호화(해독) 효과를 위한 리눅스 소프트웨어.


1. Feature  특징
❑ Open source(GPL 3.0).
오픈소스(GPL 3.0).
❑ Easy-to-use interface.
사용하기 쉬운 인터페이스.
❑ Realizing the decryption effect that viewed in movie(Link).
영화 속 복호화 효과를 구현.




2. How to install  설치 방법
❑ Linux
# git clone https://github.com/bartobri/no-more-secrets.git
# cd ./no-more-secrets
# make nms
# make sneakers   → If you want to imitate a movie.
# make install




3. How to use  사용법
❑ Ordinary usage.  
일반적인 사용방법.
$ ls -al | nms
(And press any key to decrypt. 복호화 하려면 아무 키나 입력)

Like the movie.
영화 따라하기.
 $ sneakers

August 12, 2019

Flawfinder(SAST tool for C/C++)





The software for SAST(Static Application Security Testing) of C/C++ code.
C/C++ 코드의 취약점 정적 분석(SAST) 목적의 소프트웨어.




1. Feature  특징
❑ Open source tool.
오픈소스 툴.
❑ Easy-to-use interface.
사용하기 편리한 인터페이스.




2. How to install  설치 방법
❑ Windows
> pip3 install flawfinder
> where flawfinder
C:\Users\user\AppData\Local\Programs\Python\Python37-32\Scripts\flawfinder
> cd C:\Users\user\AppData\Local\Programs\Python\Python37-32\Scripts\
> move .\flawfinder .\flawfinder.py




3. How to use  사용법
❑ Ordinary usage(Windows).  
일반적인 사용방법.

flawfinder.py [File]


Bandit(SAST tool for Ptyhon)





The software for SAST(Static Application Security Testing) of Python code.
파이썬 코드의 취약점 정적 분석(SAST) 목적의 소프트웨어.




1. Feature  특징
❑ Open source tool.
오픈소스 툴.
❑ Easy-to-use interface.
사용하기 편리한 인터페이스.




2. How to install  설치 방법

pip3 install bandit




3. How to use  사용법
❑ Ordinary usage.  
일반적인 사용방법.

bandit -r [File]


August 05, 2019

requestbin(inspect HTTP request)



The Online software to receive and inspect HTTP request message.
HTTP 요청 메시지를 수신 및 분석 가능한 온라인 소프트웨어.




1. Feature  특징
❑ Free online tool.
무료 온라인 툴.
❑ Easy-to-use interface.
사용하기 편리한 인터페이스.




2. How to install:skip  설치 방법:생략




3. How to use  사용법
❑ Ordinary usage.  
일반적인 사용방법.


Connect to the above address.
위 주소에 접속한다.

how to inspect HTTP request


1. Use the top side endpoint URL to send traffic from your software to this.endpoint URL.

1. 상단의 엔드포인트 URL를 사용하여, 사용하는 소프트웨어에서 이곳으로 트래픽을 전송한다.

2. The received traffic can be checked in the left list. Select and view the contents.

2. 수신된 트래픽은 좌측 리스트에서 확인할 수 있는데, 선택하여 그 내용을 열람한다.

July 15, 2019

Online security tool


Hash / En(de)coding / Conversion

The online tool that can easily calculate hash values, encoding/decoding, and number conversion.

해시값 계산, 인코딩/디코딩, 진수 변환을 간편히 할 수 있는 온라인 툴.




Password generator

The online tool that can easily generate constant length password strings.

일정 길이의 비밀번호를 쉽게 생성 할 수있는 온라인 도구.

January 23, 2019

Everything(search a file Instantly)


The Windows software for searching a file instantly.
파일을 즉각 검색할 수 있는 윈도우 소프트웨어.




1. Feature  특징
❑ Portable is available.
포터블(무설치) 사용 가능.
❑ Definite speed to react immediately..
즉각 반응하는 확실한 속도.




2. How to install  설치 방법


voidtools everything download

There are two files in the downloaded compressed file.  Only "Everything.exe" is needed among them.

다운 받아진 압축파일 내에는 두 개의 파일이 있는데, 이 중 "Everything.exe"만 있어도 잘 동작한다.

Because it is unnecessary to install it, it can be also used while in the USB memory.
설치가 불필요하기에 USB 메모리에 넣어 다니면서도 사용 가능하다.




3. How to use  사용법
❑ Ordinary usage.  일반적인 사용방법.

voidtools everything size

voidtools everything video

SyntaxDescription
(Blank)"AND" operation.
"AND" 연산.
|"OR" operation.
"OR" 연산.
!"NOT" operation
"NOT" 연산.
>, <, =, <=, >=comparison operation
비교 연산.
"(words)"Search for the exact words.
정확한 문자열 검색.
folder:Search for a directory(folder).
디렉토리(폴더) 검색.
datemodified:
dm:
Search based on the modification time of the file.
파일의 수정 시간을 기준으로 검색.
dateaccessed:
da:
Search based on the access time of the file.
파일의 접근 시간을 기준으로 검색.
datecreated:
dc:
Search based on the creation time of the file.
파일의 생성 시간을 기준으로 검색.
size:Search based on the size of the file.
파일의 크기를 기준으로 검색.
video:Search for a video file.
비디오 파일 검색.
audio:Search for an audio file.
오디오 파일 검색.
zip:Search for a compressed(archive) file.
압축(아카이브) 파일 검색.
pic:Search for an image file.
이미지 파일 검색.
doc:Search for a document file.
문서 파일 검색.
exe:Search for an execuable file.
문서 파일 검색.
endwith:Search for a file ending with a specific string.
특정 문자열로 끝나는 파일 검색.
startwith:Search for a file starting with a specific string.
특정 문자열로 시작하는 파일 검색.