рдорд┐рдХрд░реЛрдЯрд┐рдХ рд╡рд┐рдирдмреЙрдХреНрд╕ рднреЗрджреНрдпрддрд╛ рдЕрд╡рд▓реЛрдХрдиред рдпрд╛ рдПрдХ рдмрдбрд╝реА рдлрд╛рдЗрд▓

рдЕрдЪреНрдЫреЗ рджрд┐рди, рд╢рд╛рдпрдж рдХрдИ рдиреЗ рдорд┐рдХрд░реЛрдЯрд┐рдХ рд░рд╛рдЙрдЯрд░ рдореЗрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рднреЗрджреНрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд┐рдЦрд╛рдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд▓ рд╕реВрдЪрдирд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рднреЗрджреНрдпрддрд╛ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рднреЗрджреНрдпрддрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдФрд░ рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдкрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬ Winbox рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИ
Winbox WIndows OS рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдЬреЛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ рдФрд░ рдмреЛрд░реНрдб рдкрд░ рд░рд╛рдЙрдЯрд░ рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 2 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рд╕рдорд░реНрдерд┐рдд, рдЯреАрд╕реАрдкреА рдФрд░ рдпреВрдбреАрдкреА
рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ Winbox рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдЪреЗрдХрдмреЙрдХреНрд╕ рдЯреВрд▓ -> рдЙрдиреНрдирдд рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛:


рд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб рдЕрдирдЪреЗрдХ рдХрд░реЗрдВред Wireshark рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдиреАрдЪреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдмрд╛рдж, рдПрдХ рд╕реВрдЪреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдЗрд╕ рд╕рддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЗрдЦреЗрдВ:


рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, Winbox рд╕реВрдЪреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдЯреАрдХ рдкреИрдХреЗрдЬ рднреЗрдЬрддрд╛ рд╣реИ:


рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  1. 37010035 - рдкреИрдХреЗрдЬ рдХрд╛ рдЖрдХрд╛рд░
  2. рдПрдо 2 рдПрдХ рдирд┐рд░рдВрддрд░ рдПрдХ рдкреИрдХреЗрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ
  3. 0500ff01 - рдЪрд░ 0xff0005 рдорд╛рди рд╕рддреНрдп рдореЗрдВ
  4. 0600ff09 01 - рдорд╛рди 1 рдореЗрдВ рдЪрд░ 0xff0006 (рдкреНрд░реЗрд╖рд┐рдд рдкреИрдХреЗрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛)
  5. 0700ff09 07 - рдореВрд▓реНрдп 7 рдкрд░ рдЪрд░ 0xff0007 (рд░реАрдб рдореЛрдб рдореЗрдВ рдЦреБрд▓реА рдлрд╝рд╛рдЗрд▓)
  6. 01000021 04 6967374 - 4 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЪрд░ 0x01000001 рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реВрдЪреА (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЪрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ)
  7. 0200ff88 02 ... 00 - 2 рддрддреНрд╡реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде 0xff0002 рдХреА рдПрдХ рд╕рд░рдгреА
  8. 0100ff88 02 ... 00 - 2 рддрддреНрд╡реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде 0xff0001 рдХреА рдПрдХ рд╕рд░рдгреА

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд░рд┐рд╡рд░реНрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓реЗрдВ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХрд╛рдлреА рд╣рдж рддрдХ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рд╕рдВрднрд╡ рдерд╛ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ Winbox рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдПрдирд╡реАрдПрдордПрдЬреЗрдЬ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рд╡рд░рдг

рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ (рдирд╛рдо: рдбрд┐рдЬрд┐рдЯрд▓ рдкрджрдирд╛рдо)


  • u32: 0x08000000
  • u32_array: 0x88000000
  • рд╕реНрдЯреНрд░рд┐рдВрдЧ: 0x20000000
  • string_array: 0xA0000000
  • addr6: 0x18000000
  • addr6_array: 0x98000000
  • u64: 0x10000000
  • u64_array: 0x90000000
  • рд╕рдЪ: 0x00000000
  • рдЭреВрдареА: 0x01000000
  • bool_array: 0x80000000
  • рд╕рдВрджреЗрд╢: 0x28000000
  • message_array: 0xA8000000
  • рдХрдЪреНрдЪрд╛: 0x30000000
  • raw_array: 0xB0000000
  • u8: 0x09000000
  • be32_array: 0x88000000

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ (рдирд╛рдо: рдбрд┐рдЬрд┐рдЯрд▓ рдкрджрдирд╛рдо)


  • SYS_TO: 0xFF0001
  • STD_UNDOID: 0xFE0006
  • STD_DESCR: 0xFE0009
  • STD_FINISHED: 0xFE000B
  • STD_DYNAMIC: 0xFE0007
  • STD_INACTIVE: 0xFE0008
  • STD_GETALLID: 0xFE0003
  • STD_GETALLNO: 0xFE0004
  • STD_NEXTID: 0xFE0005
  • STD_ID: 0xFE0001
  • STD_OBJS: 0xFE0002
  • SYS_ERRNO: 0xFF0008
  • SYS_POLICY: 0xFF000B
  • SYS_CTRL_ARG: 0xFF000F
  • SYS_RADDR6: 0xFF0013
  • SYS_CTRL: 0xFF000D
  • SYS_ERRSTR: 0xFF0009
  • SYS_USER: 0xFF000A
  • SYS_STATUS: 0xFF0004
  • SYS_FROM: 0xFF0002
  • SYS_TYPE: 0xFF0003
  • SYS_REQID: 0xFF0006

рддреНрд░реБрдЯрд┐ рдорд╛рди (рдирд╛рдо: рдбрд┐рдЬрд┐рдЯрд▓ рдкрджрдирд╛рдо)


  • ERROR_FAILED: 0xFE0006
  • ERROR_TOOBIG: 0xFE000A
  • ERROR_EXISTS: 0xFE0007
  • ERROR_NOTALLOWED: 0xFE0009
  • ERROR_BUSY: 0xFE000C
  • ERROR_UNKNOWN: 0xFE0001
  • ERROR_BRKPATH: 0xFE0002
  • ERROR_UNKNOWNID: 0xFE0004
  • ERROR_UNKNOWNNEXTID: 0xFE000B
  • ERROR_TIMEOUT: 0xFE000D
  • ERROR_TOOMUCH: 0xFE000E
  • ERROR_NOTIMP: 0xFE0003
  • ERROR_MISSING: 0xFE0005
  • STATUS_OK: 0x01
  • STATUS_ERROR: 0x02

рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдлрд╝реАрд▓реНрдб рд╕рдВрд░рдЪрдирд╛


рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ - 4 рдмрд╛рдЗрдЯреНрд╕ (3 рдмрд╛рдЗрдЯреНрд╕ - рдЪрд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп, рдЙрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ, 1 рдмрд╛рдЗрдЯ - рд╕реАрдзреЗ рдЗрд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдкреНрд░рдХрд╛рд░) рдлрд┐рд░ рд▓рдВрдмрд╛рдИ 1-2 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддреА рд╣реИ рдФрд░ рдореВрд▓реНрдп рд╕реНрд╡рдпрдВред

рд╕рд░рдгрд┐рдпреЛрдВ


рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЖрдВрдХрд┐рдХ рд░реВрдк рд╕реЗ, рд╕рд░рдгреА рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

struct Array { uint32 type; uint8 count; uint32 item1; uint32 item2; ... uint8 zero; } 

рдкреНрд░рдХрд╛рд░ (4 рдмрд╛рдЗрдЯ) / рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (1 рдмрд╛рдЗрдЯ) / рддрддреНрд╡ (4 рдмрд╛рдЗрдЯреНрд╕) / рдмрд╛рдЗрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ \ N00

рдкрдВрдХреНрддрд┐рдпрд╛рдВ


рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓рдВрдмрд╛рдИ рд╣реИ:

 struct String { uint32 type; uint8 length; char text[length]; } 

рд╕рдВрдЦреНрдпрд╛


рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░, рдЗрд╕реЗ рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 struct u* { uint32 type; uint8/32/64 value; } 

рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореВрд▓реНрдп рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдмрд┐рдЯ рдЖрдпрд╛рдо рд╣реЛрддрд╛ рд╣реИред

рдмреБрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░


рдлрд╝реАрд▓реНрдб рдХрд╛ рдЖрдХрд╛рд░ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ, рдЙрдЪреНрдЪ рдмрд╛рдЗрдЯ рдорд╛рди (True \ False) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдирд┐рдЪрд▓реЗ 3 рдмрд╛рдЗрдЯреНрд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рдкреИрдХреЗрдЬ рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдорд╛рд░реНрдХрд░
  2. рдкреИрдХреЗрдЬ рдХрд╛ рдЖрдХрд╛рд░
  3. рдмрдбрд╝реЗ рдкреИрдХреЗрдЬ рдирд┐рдпрдВрддреНрд░рдг рдмрд╛рдЬрд╛рд░


рд╕реНрдерд┐рд░рд╛рдВрдХ рдорд┐рд▓реЗ


  • 0xfe0001 - рд╕рддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ (1 рдмрд╛рдЗрдЯ)
  • 0xff0006 - рднреЗрдЬреЗ рдЧрдП рдкреИрдХреЗрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ (1 рдмрд╛рдЗрдЯ)
  • 0xff0007 - рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕реЗрд╕ рдореЛрдб (1 рдмрд╛рдЗрдЯ)

рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕реЗрд╕ рдореЛрдб

  • 7 - рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛
  • 1 - рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛
  • 6 - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ
  • 4 - рдкрдврд╝рд╛
  • 5 - рд╣рдЯрд╛рдПрдВ


рдЕрдм, рдпрд╣ рдЬрд╛рдирдирд╛ рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦреЗрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдЙрдирдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдбрд┐рд╡рд╛рдЗрд╕ рдкрдХреНрд╖ рдкрд░, рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп / рдиреЛрд╡рд╛ / рдмрд┐рди / mproxy рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЪреВрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо рд╕рд╣реЗрдЬреЗ рдирд╣реАрдВ рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬреЛ рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓_рд╣реИрдВрдбрд▓рд░ () рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИред рдлрдВрдХреНрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:


PS рд╡рд╣ рдХреЛрдб рдЬреЛ рд╣рдореЗрдВ рд░реВрдЪрд┐ рджреЗрдЧрд╛, рддреАрд░ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред

рдЪрд░рдг 1


рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЗрд╕ рдмреНрд▓реЙрдХ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ:


рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдкреИрдХреЗрдЬ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди nv :: message :: get <nv: string_id> () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛, рдЯреЛрдХрди () рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, " / " рд╡рд░реНрдг рдХреЛ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА path_filter () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ " .. " рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдкреНрд░рд╛рдкреНрдд рд╕рд░рдгреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рддреНрд░реБрдЯрд┐ ERROR_NOTALLOWED (0xFE0009)


рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ PS ERROR_NOTALLOWED рдХреЛ рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реЗрдЧреА

рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдлрд┐рдЧ рдпрд╛ рдкреАрдХреЗрдЬреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдорд╛рд░реНрдЧ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИред

рдЪрд░рдг 2



рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛, рддреЛ рдлрд╝рд╛рдЗрд▓ рдЦреБрд▓рддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╣реИрдВрдбрд▓ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдЦреЛрд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ: рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддрд╛ ред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, 3 рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

  1. рдлрд╝рд╛рдЗрд▓ рдкрде рдореЗрдВ " .. " рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ;
  2. рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ;
  3. рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреИрдХреЗрдЬ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

 $ ./untitled.py -t 192.168.88.1 -f /etc/passwd Error: SYS_ERRNO => ERROR_FAILED Error: SYS_ERRSTR => cannot open source file $ ./untitled.py -t 192.168.88.1 -f /../../../etc/passwd Error: SYS_ERRNO => ERROR_NOTALLOWED $ ./untitled.py -t 192.168.88.1 -f //./././././../etc/passwd Error: SYS_ERRNO => ERROR_FAILED Error: SYS_ERRSTR => cannot open source file 

рддреЛ! рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЬреАрдм рд╣реИ ... рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ ERROR_NOTALLOWED рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ path_filter () рдореЗрдВ рдЪреЗрдХ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖ, рдЕрдиреНрдпрдерд╛ рд╣рдореЗрдВ рдЕрднреА рднреА рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛, рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬреА рдЧрдИ рдереА?

рдЖрдЗрдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:

 $ ./untitled.py -t 192.168.88.1 -f //./.././.././../etc/passwd xvM2        1Enobody:*:99:99:nobody:/tmp:/bin/sh root::0:0:root:/home/root:/bin/sh 

рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ? рдкрде_рдлрд┐рд▓реНрдЯрд░ () рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ:


рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рд░рдгреА рдореЗрдВ " .. " рдХреА рдШрдЯрдирд╛ рдХреА рдЦреЛрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛ рд░рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛, рдореИрдВрдиреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ред
рдЗрд╕ рдХреЛрдб рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐: рдпрджрд┐ рдкрд┐рдЫрд▓рд╛ рдЖрдЗрдЯрдо рднреА " .. " рд╣реИ, рддреЛ рдЪреЗрдХ рдХреЛ рд╡рд┐рдлрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

рдпрд╛рдиреА рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдФрд░ FS рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрддрд░ рддрдХ рдЙрддрд░рдиреЗ рдХреЗ рд▓рд┐рдП " /./ " рдФрд░ " /../ " рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдорд┐рдХрд░реЛрдЯрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛:


рдЫрджреНрдо-рд╕реА рдХреЛрдб рддреБрд▓рдирд╛


рдЕрдм рд╕рддреНрдпрд╛рдкрди рдЪрдХреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ " .. " рдХреА рдкрд╣рд▓реА рдкрд╣рдЪрд╛рди рдкрд░ рд╣реЛрддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдмрд┐рдВрджреБ рдХреА рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рд╛ред рдФрд░ рдбреЗрд╡реЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдХреНрд░рд┐рдпрдг рддрдВрддреНрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЧрддрд┐рд╢реАрд▓рддрд╛ рдореЗрдВ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


  1. рд░рд╛рдЙрдЯрд░ рдУрдПрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ
  2. рдПрдХ рдЧрд▓рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ

рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдирд╛, рд╣рдЯрд╛рдирд╛, рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдордирдорд╛рдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдирд╛

рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдкрдврд╝ рд░рд╣реА рдереАред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдХрд┐ рд╡рд╣ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЙрд╕рд╕реЗ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рднреЗрджреНрдпрддрд╛ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдм рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

Source: https://habr.com/ru/post/hi416067/


All Articles