<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    MISC中常用python腳本

    VSole2021-09-20 20:26:46

    柵欄密碼

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    string = input("輸入:")
    frequency = [] # 獲得柵欄的欄數
    result_len = len(string)        # 柵欄密碼的總長度  25
    for i in range(2, result_len):   # 最小柵欄長度為2   逐個測試2,3,4....
        if(result_len % i == 0):        # 當柵欄密碼的總長度 模 i 余數為0  則這個i就是柵欄密碼的長度
            frequency.append(i)
    for numberOfColumn in frequency:   # 循環可能分的欄數
        RESULT = []                 #  保存各欄數的結果
        for i in range(numberOfColumn):     #   i : 開始取值的位置
            for j in range(i, result_len, numberOfColumn):  # 開始取值, 隔欄數取一個值, 起始位置是i
                RESULT.append(string[j])
        print("".join(RESULT))
    

    凱撒密碼:

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    import string
    inputStr = input("輸入:").lower()
    caseS1 = string.ascii_lowercase * 2
    for j in range(26):
        result_list = []
        for i, num in zip(inputStr, range(len(inputStr))):
            status = caseS1.find(i)
            if status != -1:
                result_list.append(caseS1[status + j])
            else:
                result_list.append(inputStr[num])
        print("".join(result_list), "向右偏移了{}位".format(j))
    

    ROT13

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import string
    s1 = ""
    rot13_1 = string.ascii_lowercase[:13]
    rot13_2 = string.ascii_lowercase[13:]
    result = []
    for i in s1:
        find_1 = rot13_1.find(i.lower())
        if find_1 != -1:
            if i.isupper():
                result.append(rot13_2[find_1].upper())
                continue
            result.append(rot13_2[find_1])
        find_2 = rot13_2.find(i.lower())
        if find_2 != -1:
            if i.isupper():
                result.append(rot13_1[find_2].upper())
                continue
            result.append(rot13_1[find_2])
        if find_1 == -1 and find_2 == -1:
            result.append(i)
         
    print("". join(result))
    

    4進制

    s='1212 1230 1201 1213 1323 1012 1233 1311 1302 1202 1201 1303 1211 301 302 303 1331'
    l=s.split(' ')
    for i in l:
        tmp=0
        for j in range(len(i)):
            tmp+=(4**j)*int(i[-j-1])
    print (chr(int(tmp)),end='')
    

    小數轉字符串

    import struct
    import binascii
    s=[72065910510177138000000000000000.000000,71863209670811371000000.000000,18489682625412760000000000000000.000000,72723257588050687000000.000000,4674659167469766200000000.000000,19061698837499292000000000000000000000.000000]
    a=''
    b=''
    for i in s:
        i=float(i)
        tmp=struct.pack('<f', i).hex()#小端
        a+=tmp
    for j in s:
        j=float(j)
        tmp=struct.pack('>f', j).hex()#大端
        b+=tmp
    print (binascii.a2b_hex(a))
    print (binascii.a2b_hex(b))
    

    培根密碼

    letters1 = [
        'A', 'B', 'C', 'D', 'E', 'F', 'G',
        'H', 'I', 'J', 'K', 'L', 'M', 'N',
        'O', 'P', 'Q', 'R', 'S', 'T',
        'U', 'V', 'W', 'X', 'Y', 'Z',
    ]
    letters2 = [
        'a', 'b', 'c', 'd', 'e', 'f', 'g',
        'h', 'i', 'j', 'k', 'l', 'm', 'n',
        'o', 'p', 'q', 'r', 's', 't',
        'u', 'v', 'w', 'x', 'y', 'z',
    ]
    cipher1 = [
        "aaaaa", "aaaab", "aaaba", "aaabb", "aabaa", "aabab", "aabba",
        "aabbb", "abaaa", "abaab", "ababa", "ababb", "abbaa", "abbab",
        "abbba", "abbbb", "baaaa", "baaab", "baaba", "baabb",
        "babaa", "babab", "babba", "babbb", "bbaaa", "bbaab",
    ]
    cipher2 = [
        "AAAAA", "AAAAB", "AAABA", "AAABB", "AABAA", "AABAB", "AABBA",
        "AABBB", "ABAAA", "ABAAA", "ABAAB", "ABABA", "ABABB", "ABBAA",
        "ABBAB", "ABBBA", "ABBBB", "BAAAA", "BAAAB", "BAABA",
        "BAABB", "BAABB", "BABAA", "BABAB", "BABBA", "BABBB",
    ]
    def bacon1(string):
        lists = []
        # 分割,五個一組
        for i in range(0, len(string), 5):
            lists.append(string[i:i+5])
        # print(lists)
        # 循環匹配,得到下標,對應下標即可
        for i in range(0, len(lists)):
            for j in range(0, 26):
                if lists[i] == cipher1[j]:
                    # print(j)
                    print(letters1[j], end="")
        print("")
    def bacon2(string):
        lists = []
        # 分割,五個一組
        for i in range(0, len(string), 5):
            lists.append(string[i:i+5])
        # print(lists)
        # 循環匹配,得到下標,對應下標即可
        for i in range(0, len(lists)):
            for j in range(0, 26):
                if lists[i] == cipher2[j]:
                    # print(j)
                    print(letters2[j], end="")
        print("")
    

    在流量包中查找sql注入語句

    #請先將pcapng包另存為pcap
    keystr=r'.php?id=1%27and%20(select%20ascii(substr((select%20skyflag_is_here2333%20from%20flag%20limit%200,1),{0}'
    l=[None]*33
    with open(r'C:\Users\Crazy\Desktop\2.pcap','r',encoding='ISO-8859-1') as f:
        for i in f.readlines():
            for j in range(1,34,1):
                if keystr.format(j)+',' in i:
                    tmp=i
                    l[j-1]=tmp.split("=")[-1]
    for i in l:
        tmp=i.split(r'%23')[0]
        print (chr(int(tmp)),end='')
    

    將十六進制寫入文件

    s = '68656C6C6F20776F726C64'
    a = bytes.fromhex(s)
    with open('123.txt','wb') as f:
        f.write(hex(s))
    
    stringpython for循環
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    mruby是一個Ruby語言的輕量級實現,mruby工作方式類似CPython,它可以將Ruby源碼編譯為字節碼,再在虛擬機中解釋運行。
    前 言 歡迎各位大佬們給該項目點一個star https://github.com/flipped-aurora/gin-vue-admin/
    sql注入已經出世很多年了,對于sql注入的概念和原理很多人應該是相當清楚了,SSTI也是注入類的漏洞,其成因其實是可以類比于sql注入的。BladeBlade 是 Laravel 提供的一個既簡單又強大的模板引擎。它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發產品的組件。
    內網滲透主要是基于前期外圍打點getshell的webserver,通過收集webserver上的信息,然后對其他內網主機進行口令上的攻擊,當然也有一些基于漏洞的攻擊。
    0x00 Preface內網滲透主要是基于前期外圍打點getshell的webserver,通過收集webserver上的信息,然后對其他內網主機進行口令上的攻擊,當然也有一些基于漏洞的攻擊。當然,概念是生澀難懂的,結合實際環境會有助于理解。實際上有很多優秀的集成化工具,很少會拆分開來單獨使用這些方法。當然,大多數情況下是要考慮免殺的,免殺時可能會將某一步操作拆分出來,單獨進行免殺和利用。
    0x00 Preface內網滲透主要是基于前期外圍打點getshell的webserver,通過收集webserver上的信息,然后對其他內網主機進行口令上的攻擊,當然也有一些基于漏洞的攻擊。當然,概念是生澀難懂的,結合實際環境會有助于理解。實際上有很多優秀的集成化工具,很少會拆分開來單獨使用這些方法。當然,大多數情況下是要考慮免殺的,免殺時可能會將某一步操作拆分出來,單獨進行免殺和利用。
    評價神經網絡的方法和評價機器學習的方法大同小異,常見的包括誤差、準確率、R2 score、F值等。
    MISC中常用python腳本
    2021-09-20 20:26:46
    MISC中常用python腳本總結
    為了進行并行處理,我們將任務劃分為多個子單元。我們將把數據以數組的形式送入函數,它將根據可用的工作者的數量,一次并行處理多個值。這些工作器是基于你的處理器內的核心數量的。Python包減少大文件的處理時間。處理時間可能因機器不同而不同。我們將導入multiprocessing、joblib和tqdm用于并行處理,pandas用于數據攝取,re、nltk和string用于文本處理。
    前段時間打了場PWN2WIN,期間遇到了這道BIOS題,正好來學習一下UEFI PWN。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类