'경로 및 정보'에 해당되는 글 184건

 

https://jihyeong-ji99hy99.tistory.com/206

 

[Ethereum] Smart Contract 보안 취약점

이더리움 보안 가이드라인 - Minimalism : 꼭 필요한 기능들만 가진 contract을 제작하자. - Code reuse : 코드를 작성할 때 library를 찾아서 써라. - Code quality : 제작된 contract은 항상 블록체인에 올라가..

jihyeong-ji99hy99.tistory.com

 

 

이더리움 보안 가이드라인

- Minimalism : 꼭 필요한 기능들만 가진 contract을 제작하자.
- Code reuse : 코드를 작성할 때 library를 찾아서 써라.
- Code quality : 제작된 contract은 항상 블록체인에 올라가 있다. 따라서 처음 만들 때 제대로 만들어서 사용하자.
- Readability : 가독성이 좋도록 작성하자.
- Test coverage : 다양한 형태의 input 값을 테스트 해보자.

 

 

대표적인 취약점

1) Reentrancy 공격

: fallback() 함수를 이용한 취약점이다. 사용자가 외부 공격자의 contract 코드를 사용했을 때, 호출한 함수가 존재하지 않는다면 공격자 contract의 fallback() 함수가 동작된다. 그럼 이때, fallback 함수 안에 악의적인 코드를 넣어 얻어걸릴 수 있는 취약점이다.

(해결방안) - transfer 함수 사용

            - 외부 call이 필요할 시에는 내부 state를 미리 다 변화시키기

            - 뮤 택스를 사용

 

2) Overflow와 Underflow

: 자료형을 사용할 때 지정된 범위를 넘어서면 언더 플로 혹은 오버플로가 발생한다. 값을 넘겨줄 때 발생할 수 있다.

(해결방안) - 직접 대입 X

             - assert() 함수로 확인하는 작업 추가

             - 안전한 library를 사용

 

3) Unexpected Ether

: 공격자가 A라는 account가 만들어지는 것과 account의 address를 추측할 수 있다면, 발생할 수 있는 취약점이다. 해당 계정이 생성되기 전에 해당 address로 이더를 전송하면 none-zero ether balance를 가진 account가 생성된다. 이러한 계정은 이더 게임에서 악용될 수도 있다. 

(해결방안) - this.balance를 직접 사용 X

 

4) Delegate Call

: 사용자가 외부 contract을 사용할 경우, 호출한 contract의 context는 본인의 context 기반이 아니라 호출한 context 기반으로 코드가 동작된다. library를 사용할 때 발생할 수도 있으며, 호출한 쪽의 state 기반으로 동작되기 때문에 원래와는 다른 용도로 동작될 수 있다.

(해결방안) - library keyword를 사용 >> 무조건 외부 state를 가져와서 사용할 수 있도록 함.

 

5) Default Visbilities

: 함수 키워드를 사용하지 않을 때 발생하는 취약점이다. 함수 키워드를 작성하지 않으면 기본적으로 public으로 지정된다. 따라서 제작자의 실수로 코드가 유출될 수도 있고, 공격자들은 디렉트로 함수로 접근할 수 있게 된다.

(해결방안) - 함수 키워드 반드시 작성

 

6) Entropy Illusion

: 난수 생성에 대한 취약점이다. 이더리움에는 난수를 생성할 수 있는 소스가 존재하지 않는다. 따라서 다양한 난수 생성과 관련한 접근이 존재했는데, 그중 하나의 예시로 미래에 생성되는 값을 가져와서 쓰고 현재 참여한 시점에서 나중의 값을 예측할 수 없기 때문에 해당 값을 난수로 사용할 수 있다는 아이디어이다. 하지만 마이닝을 통해 혹은 아예 결과를 예측할 수 없을 것이라고 단정 짓기는 어렵기 때문에 취약점이 발생할 수도 있다.

 

7) Vulnerability

: 외부 contract을 호출할 때 발생할 수 있는 문제점으로, 사용자는 호출한 contract이 본인이 사용하려는 conrract인지 확인하지 않기 때문에 다른 address가 들어가게 될 경우를 알 수 없다.

(해결방안) - 내부 distance로 작성하여 사용

            - 외부 함수 호출 코드는 public으로 작성 // 다른 사람이 이걸 쓸 때 취약하다고 판단되면 알아서 안 쓰겠지.. 마인드

 

8) Unchecked Call Return value

: call 함수나 send 함수를 사용할 때 리턴 값을 제대로 확인하지 않아 발생하는 취약점이다. 앞서 이더리움에서는 문제가 생기면 자동으로 reboot 되는 개념을 설명한 적이 있다. 따라서 해당 리턴 값을 잘 확인하지 않는 경우가 생기는데, send 함수의 예로, gas price가 부족하여 정보를 다 불러오지 못하게 되면 contract은 이를 return false로 반환한 뒤에 다음 코드를 실행시킨다. 즉, 정상작동이라는 의미이다.

(해결방안) - transfer() 함수 사용

             - return value 체크

             - withdrawal 패턴 사용

 

9) Race Condition / Front Running

: 사용자에 따라 gasprice가 높은 transaction을 먼저 받아들일 수 있다. 따라서 정답을 알아맞히는 게임에서 A가 정답을 보냈는데 B가 이를 베껴 똑같이 관리자에게 보내게 되면 관리자는 gasprice가 높은 B를 먼저 보게 된다. 

(해결방안) 두 페이지를 나눠서 제공한다. 즉 제일 처음 transaction은 데이터를 숨겨서 보내고, 확인 시에 정답 데이터를 transaction 할 수 있도록 함. (hash 함수에서와 동일)

 

 

'경로 및 정보' 카테고리의 다른 글

criminal ip  (0) 2022.05.17
Unleashing an Ultimate XSS Polyglot  (0) 2022.05.11
URL 경로 확인  (0) 2022.05.03
Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
블로그 이미지

wtdsoul

,

aicpschools.net

 

Aicpschools.net - traffic ranking & similars - xranks.com

Are you curious to know about Aicpschools.net ranking, valuation or traffic estimations ? or maybe you need best alternative websites to Aicpschools.net ? Get it now on Xranks !

xranks.com

 

 

'경로 및 정보' 카테고리의 다른 글

Unleashing an Ultimate XSS Polyglot  (0) 2022.05.11
[Ethereum] Smart Contract 보안 취약점 가이드  (0) 2022.05.11
Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
서브넷 마스크 계산 경로  (0) 2022.04.29
블로그 이미지

wtdsoul

,

https://blog.alyac.co.kr/3971

 

WordPress 다운로드 관리자 플러그인의 취약점(CVE-2021-34639) 주의!

공격자가 특정 구성에서 임의의 코드를 실행할 수 있도록 하는 WordPress 다운로드 관리자 플러그인에 영향을 미치는 취약점이 발견되었습니다. 이 취약점으로 인해 작성자 및 uploa

blog.alyac.co.kr

https://www.boho.or.kr/krcert/secNoticeView.do?bulletin_writing_sequence=36292 

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

https://isarc.tachyonlab.com/4898

 

WordPress 플러그인 취약점 발견

20,000개 이상의 WordPress 사이트에 설치된 플러그인에서 크로스 사이트 스크립트 취약점이 발견되었다. 이는 WP HTML Mail 플러그인의 취약점으로, WP HTML Mail WordPress 이메일 템플릿 디자이너 플러그인

isarc.tachyonlab.com

 

 

'경로 및 정보' 카테고리의 다른 글

[Ethereum] Smart Contract 보안 취약점 가이드  (0) 2022.05.11
URL 경로 확인  (0) 2022.05.03
ipv4 대신 경로 참고  (0) 2022.04.30
서브넷 마스크 계산 경로  (0) 2022.04.29
PE Viewer  (0) 2022.04.27
블로그 이미지

wtdsoul

,

https://www.sitelike.org/similar/robtex.com/

 

 

IPv4Info - All data for ipv4 network blocks and autonomous systems

 

 

'경로 및 정보' 카테고리의 다른 글

URL 경로 확인  (0) 2022.05.03
Wordpress 추가  (0) 2022.05.02
서브넷 마스크 계산 경로  (0) 2022.04.29
PE Viewer  (0) 2022.04.27
Web Directory Fuzz  (0) 2022.04.25
블로그 이미지

wtdsoul

,

http://www.ip-calc.com/

 

IP Calc - VLSM

Maximum Subnets 2147483648 1073741824 536870912 268435456 134217728 67108864 33554432 16777216 8388608 4194304 2097152 1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 Maximum Addresses 2147483646 1073741822 5

www.ip-calc.com

 

 

'경로 및 정보' 카테고리의 다른 글

Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
PE Viewer  (0) 2022.04.27
Web Directory Fuzz  (0) 2022.04.25
Tomcat 에러 정보 제거  (0) 2022.03.23
블로그 이미지

wtdsoul

,

PE Viewer

경로 및 정보 2022. 4. 27. 10:31

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kiros33&logNo=130189860671

 

[Windows][Development] NikPEViewer - PE 정보를 보여주는 포터블 프로그램

Home Page http://codedebug.com/ Product Page http://www.codedebug.com/php/Products/Products_N...

blog.naver.com

 

https://idlecomputer.tistory.com/182

 

[reversing] EAT(Export Address Table) (기타 = 세션 찾기 64bit pe viwer)

EAT (Export Address Table) Windows 운영체제에서 라이브러리(Library) 란 다른 프로그램에서 불러 쓸 수 있도록 관련 함수들을 모아놓은 파일(DLL/SYS)입니다. Win32 API 가 대표적인 Library 이며, 그 중에서..

idlecomputer.tistory.com

 

https://www.safer-networking.org/products/filealyzer/

 

FileAlyzer - Spybot Anti-Malware and Antivirus

Safer-Networking offers a comprehensive set of tools. This one helps you to understand more of your data files.

www.safer-networking.org

 

 

'경로 및 정보' 카테고리의 다른 글

ipv4 대신 경로 참고  (0) 2022.04.30
서브넷 마스크 계산 경로  (0) 2022.04.29
Web Directory Fuzz  (0) 2022.04.25
Tomcat 에러 정보 제거  (0) 2022.03.23
bug bounty epub  (0) 2022.03.18
블로그 이미지

wtdsoul

,

https://www.golinuxcloud.com/fuzzing-tools-for-web-application-pentesting/

 

Top 5 Fuzzing Tools for Web Application Pentesting  | GoLinuxCloud

In this tutorial we explore top 5 fuzzing tools used for application web testing with installation steps and usage.

www.golinuxcloud.com

 

 

 

'경로 및 정보' 카테고리의 다른 글

서브넷 마스크 계산 경로  (0) 2022.04.29
PE Viewer  (0) 2022.04.27
Tomcat 에러 정보 제거  (0) 2022.03.23
bug bounty epub  (0) 2022.03.18
Pyinstaller Decom  (0) 2022.01.29
블로그 이미지

wtdsoul

,

https://horae.tistory.com/entry/TOMCAT-%EC%97%90%EB%9F%AC-%EC%A0%95%EB%B3%B4-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0

 

TOMCAT 에러 정보 제거하기

출처: http://linux.systemv.pe.kr/tomcat-%EC%97%90%EB%9F%AC-%EC%A0%95%EB%B3%B4-%EC%88%A8%EA%B8%B0%EA%B8%B0/ Java 애플리케이션을 작성할때에 에러 발생시 보여줄 에러 페이지를 설정할 수 있습니다. 웹 애..

horae.tistory.com

 

 

'경로 및 정보' 카테고리의 다른 글

PE Viewer  (0) 2022.04.27
Web Directory Fuzz  (0) 2022.04.25
bug bounty epub  (0) 2022.03.18
Pyinstaller Decom  (0) 2022.01.29
Netsparker LDAP 인젝션  (0) 2022.01.20
블로그 이미지

wtdsoul

,

bug bounty epub

경로 및 정보 2022. 3. 18. 13:11

 

https://github.com/skilincer/CyberSource

 

GitHub - skilincer/CyberSource

Contribute to skilincer/CyberSource development by creating an account on GitHub.

github.com

https://github.com/PritamKundu/Bug-Bounty---Important-Books

 

'경로 및 정보' 카테고리의 다른 글

Web Directory Fuzz  (0) 2022.04.25
Tomcat 에러 정보 제거  (0) 2022.03.23
Pyinstaller Decom  (0) 2022.01.29
Netsparker LDAP 인젝션  (0) 2022.01.20
WinDbg 6.12 버전  (0) 2022.01.20
블로그 이미지

wtdsoul

,

https://blog.system32.kr/286

 

[Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)

오늘은 Pyinstaller를 통해서 암호화된 바이너리 디컴파일을 해보도록하겠습니다. 먼저 아래 사진은 그냥 심심해서 만들어 놓은 트위터 자동 글쓰기 프로그램입니다. 하지만 Pyinstaller을 통해서 암

blog.system32.kr

 

오늘은 Pyinstaller를 통해서 암호화된 바이너리 디컴파일을 해보도록하겠습니다.

먼저 아래 사진은 그냥 심심해서 만들어 놓은 트위터 자동 글쓰기 프로그램입니다.

하지만 Pyinstaller을 통해서 암호화 키를 탑재해서 컴파일을 했었지만, 암호가 기억이 안나 리버싱(?)을 통해서 디컴파일을 성공했습니다.

먼저 파일을 분해하기 위해서 pyinstallerextractor 을 사용하도록 하겠습니다. 다운로드 링크는 아래와 같습니다.

https://sourceforge.net/projects/pyinstallerextractor/

 

PyInstaller Extractor

Download PyInstaller Extractor for free. Extract contents of a Windows executable file created by pyinstaller. MIGRATED TO GITHUB https://github.com/extremecoders-re/pyinstxtractor This is a python script to extract the contents of a PyInstaller generated

sourceforge.net

먼저 해당 파일과 다운받은 Pyinstaller Extractor을 한 폴더에 집어 넣고, 다음과 같이 커맨드라인을 수행합니다.

python pyinstxtractor.py twitter.exe

실행한 결과 파일에 암호화가 되어 있다는 메시지와 함께 추출에 실패 했다는 메시지를 발견 할 수 있습니다.

 
[!] Error: Failed to decompress OpenSSL, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress OpenSSL.SSL, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress OpenSSL._util, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress OpenSSL.crypto, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress OpenSSL.version, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress PyQt5, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress PyQt5.uic, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress PyQt5.uic.Compiler, probably encrypted. Extracting as is.
 
[!] Error: Failed to decompress PyQt5.uic.Compiler.compiler, probably encrypted. Extracting as is.

해당 파일에 암호화가 되어 있는것은 기정 사실이고, 이 암호화를 우회하기 위해서는 몇가지 작업이 필요합니다.

커맨드 라인을 실행하면 다음과 같이 폴더 하나가 생성됩니다.

이 폴더내에는 제가 사용했던 함수들과 외부 모듈등이 함께 존재하며, 암호화 키를 입력하지 않았기 때문에 정상적으로 추출이 되지 않았습니다.

암호화 키를 찾기 위해서 검색과 삽질을 한 결과 암호화 키가 특정 부분에 저장된다는 사실을 알게 되었습니다.

다음과 같이 pyimod00_crypto_key 파일을 찾아줍니다.

HxD 프로그램을 통해서 열어보면 다음과 같이 암호화 키를 발견할 수 있습니다.

해당 키가 항상 저자리에 있는가에 대한 의문을 가졌고, 여러 파일을 만들어 테스트 해본결과 4E 29( N) ) 전 16자리는 항상 암호화 키를 나타내고 있습니다.

해당 키를 바탕으로 다시 디컴파일을 진행합니다. 디컴파일을 진행하기 위해서 다음과 같이 커맨드 라인을 작성합니다.

python pyinstxtractor.py twitter.exe --key=1q2w3e4r5t6y7u8i

동일하게 폴더를 들어가 보면, 바이너리 파일을 확인할 수 있습니다.

현재 twitter 파일은 pyc파일로 존재합니다. 약간의 수정을 더해줍니다.

42 0D 0D 0A 01 00 00 00 00 00 00 00 00 00 00 00

해당 hex값들을 twitter 파일 헤더에 넣습니다. (수정이 아닌 덧붙이기.)

그후 파일 확장자를 pyc를 붙여줍니다.

이제 남은건 디컴파일밖에 남지 않았습니다.

https://github.com/rocky/python-decompile3

 

GitHub - rocky/python-decompile3: Python decompiler for 3.7-3.8 Stripped down from uncompyle6 so we can refactor and start to fi

Python decompiler for 3.7-3.8 Stripped down from uncompyle6 so we can refactor and start to fix up some long-standing problems - GitHub - rocky/python-decompile3: Python decompiler for 3.7-3.8 Stri...

github.com

rocky님의 python-decompile3 도구를 받습니다. 설치까지 슥삭 해주고.

decompyle3 twitter.pyc > test.py

다음과 같이 실행을 해주면 py 코드로 반환된 결과를 확인할 수 있습니다.

난독화가 되어 나오는 이유는 제가 난독화해서 컴파일 했기 때문입니다.

 

긴글 읽어주셔서 감사합니다!

문의나 오탈자 등은 pental@kakao.com 또는 아래 댓글을 통해서 남겨주시면 감사하겠습니다.



출처: https://blog.system32.kr/286 [Pental - Forensics Story]

'경로 및 정보' 카테고리의 다른 글

Tomcat 에러 정보 제거  (0) 2022.03.23
bug bounty epub  (0) 2022.03.18
Netsparker LDAP 인젝션  (0) 2022.01.20
WinDbg 6.12 버전  (0) 2022.01.20
Sonarqube 소스 분석 및 owasp top 10 점검  (0) 2022.01.19
블로그 이미지

wtdsoul

,