Other Techniques Automate Custom Attacks
Other Techniques Automate Custom Attacks
com -
ﻣﺠﻤﻮﻋﺔﻛﺒﻴﺮﺓ ﻣﻦ ﺍﻷﺩﻭﺍﺕ ﺍﻟﻤﺘﻜﺎﻣﻠﺔ ﺍﻷﺧﺮﻯ ﺍﻟﺘﻲ ﺗﻤُﻜﻨّﻚ ﻣﻦ ﺃﺗﻤﺘﺔ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻤﻬﺎﻡ ﺍﻟﺘﻲ
ﺳﺘﺤﺘﺎﺝﺇﻟﻰ ﺗﻨﻔﻴﺬﻫﺎ .ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺇﺣﺪﻯ ﻫﺬﻩ ﺍﻟﻤﺠﻤﻮﻋﺎﺕ ،ﺳﺘﺤﺘﺎﺝ ﺇﻟﻰ ﺍﺳﺘﺨﺪﺍﻡ ﻣﻠﺤﻖ
ﻣﺘﺼﻔﺢﻭﺍﺣﺪ ﺃﻭ ﺃﻛﺜﺮ ﻳﻤُﻜﻨّﻚ ﻣﻦ ﻣﻮﺍﺻﻠﺔ ﺍﻟﻌﻤﻞ ﻓﻲ ﺍﻟﺤﺎﻻﺕ ﺍﻟﺘﻲ ﻻ ﻳﻤُﻜﻦ ﻓﻴﻬﺎ ﺍﺳﺘﺨﺪﺍﻡ
ﺍﻟﺒﺮﻭﻛﺴﻲ.
ﺍﻟﻨﻮﻉﺍﻟﺮﺉﻴﺴﻲ ﺍﻵﺧﺮ ﻣﻦ ﺍﻷﺩﻭﺍﺕ ﺍﻟﺘﻲ ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻫﻮ ﻣﺎﺳﺢ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﺍﻟﻤﺴﺘﻘﻞ.ﺗﺘﻤﻴﺰ ﻫﺬﻩ ﺍﻷﺩﻭﺍﺕ ﺑﻔﻌﺎﻟﻴﺘﻬﺎ ﻓﻲ ﺍﻛﺘﺸﺎﻑ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﺍﻟﺸﺎﺉﻌﺔ
ﺑﺴﺮﻋﺔ،ﻛﻤﺎ ﺃﻧﻬﺎ ﺗﺴﺎﻋﺪﻙ ﻋﻠﻰ ﺗﺤﺪﻳﺪ ﻭﻇﺎﺉﻒ ﺍﻟﺘﻄﺒﻴﻖ ﻭﺗﺤﻠﻴﻠﻬﺎ .ﻭﻣﻊ ﺫﻟﻚ ،ﻓﻬﻲ ﻏﻴﺮ ﻗﺎﺩﺭﺓ ﻋﻠﻰ
ﺗﺤﺪﻳﺪﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺃﻧﻮﺍﻉ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ،ﻭﻻ ﻳﻤﻜﻨﻚ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻴﻬﺎ ﻹﺻﺪﺍﺭ ﺷﻬﺎﺩﺓ ﺳﻼﻣﺔ ﻛﺎﻣﻠﺔ
ﻷﻱﺗﻄﺒﻴﻖ.
ﻓﻲﻧﻬﺎﻳﺔ ﺍﻟﻤﻄﺎﻑ ،ﻣﺎ ﺳﻴﺠﻌﻠﻚ ﻣﺨﺘﺮﻕ ﺗﻄﺒﻴﻘﺎﺕ ﻭﻳﺐ ﺑﺎﺭﻋﺎً ﻫﻮ ﻗﺪﺭﺗﻚ ﻋﻠﻰ ﻓﻬﻢ ﻛﻴﻔﻴﺔ ﻋﻤﻞ
ﺗﻄﺒﻴﻘﺎﺕﺍﻟﻮﻳﺐ ،ﻭﻧﻘﺎﻁ ﺿﻌﻒ ﺩﻓﺎﻋﺎﺗﻬﺎ ،ﻭﻛﻴﻔﻴﺔ ﻓﺤﺼﻬﺎ ﺑﺤﺜﺎً ﻋﻦ ﺛﻐﺮﺍﺕ ﻗﺎﺑﻠﺔ ﻟﻼﺳﺘﻐﻼﻝ.
ﻟﻠﻘﻴﺎﻡﺑﺬﻟﻚ ﺑﻔﻌﺎﻟﻴﺔ ،ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﺃﺩﻭﺍﺕ ﺗﻤُﻜﻨّﻚ ﻣﻦ ﺍﻟﻨﻈﺮ ﺇﻟﻰ ﻣﺎ ﻭﺭﺍء ﺍﻟﻜﻮﺍﻟﻴﺲ ،ﻭﺍﻟﺘﺤﻜﻢ ﻓﻲ
ﺗﻔﺎﻋﻠﻚﻣﻊ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺑﺪﻗﺔ ،ﻭﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻦ ﺍﻷﺗﻤﺘﺔ ﻛﻠﻤﺎ ﺃﻣﻜﻦ ﻟﺠﻌﻞ ﻫﺠﻤﺎﺗﻚ ﺃﺳﺮﻉ ﻭﺃﻛﺜﺮ
ﻣﻮﺛﻮﻗﻴﺔ.ﺃﻳﺎً ﻛﺎﻧﺖ ﺍﻷﺩﻭﺍﺕ ﺍﻟﺘﻲ ﺗﺮﺍﻫﺎ ﺍﻷﻧﺴﺐ ﻟﺘﺤﻘﻴﻖ ﻫﺬﻩ ﺍﻷﻫﺪﺍﻑ ،ﻓﻬﻲ ﺍﻷﻧﺴﺐ ﻟﻚ .ﻭﺇﺫﺍ ﻟﻢ
ﺗﻠُﺐ ِّﺍﻷﺩﻭﺍﺕ ﺍﻟﻤﺘﺎﺣﺔ ﺍﺣﺘﻴﺎﺟﺎﺗﻚ ،ﻳﻤﻜﻨﻚ ﺩﺍﺉﻤﺎً ﺇﻧﺸﺎء ﺃﺩﻭﺍﺗﻚ ﺍﻟﺨﺎﺻﺔ .ﺍﻷﻣﺮ ﻟﻴﺲ ﺻﻌﺒﺎً،
ﺻﺪﻗﻨﻲ.
ﺗﻴﺮ 12ﺃﺏ CH
ﻫﺎﻛﺮ ﺗﻄﺒﻴﻖﻭﻳﺐ
ﺍﻟﻤﻴﺜﺎﻣﻔﻴﺘﺎﻣﻴﻦﻋﻠﻢﺍﻟﺮﻭﺍﺉﺢ
ﻳﺤﺘﻮﻱﻫﺬﺍ ﺍﻟﻔﺼﻞ ﻋﻠﻰ ﻣﻨﻬﺠﻴﺔ ﻣﻔﺼﻠﺔ ﺧﻄﻮﺓ ﺑﺨﻄﻮﺓ ﻳﻤﻜﻨﻚ ﺍﺗﺒﺎﻋﻬﺎ ﻋﻨﺪ ﻣﻬﺎﺟﻤﺔ ﺗﻄﺒﻴﻖ ﻭﻳﺐ.
ﻳﻐﻄﻲﻫﺬﺍ ﺍﻟﻔﺼﻞ ﺟﻤﻴﻊ ﻓﺉﺎﺕ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﻭﺗﻘﻨﻴﺎﺕ ﺍﻟﻬﺠﻮﻡ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﻫﺬﺍ ﺍﻟﻜﺘﺎﺏ .ﻣﻊ
ﺃﻥﺍﺗﺒﺎﻉ ﺟﻤﻴﻊ ﺧﻄﻮﺍﺕ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ ﻻ ﻳﻀﻤﻦ ﺍﻛﺘﺸﺎﻑ ﺟﻤﻴﻊ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﻓﻲ ﺗﻄﺒﻴﻖ
ﻣﻌﻴﻦ،ﺇﻻ ﺃﻧﻪ ﺳﻴﻮﻓﺮ ﻟﻚ ﺿﻤﺎﻧﺎً ﺟﻴﺪﺍً ﺑﺄﻧﻚ ﻗﺪ ﺍﺳﺘﻜﺸﻔﺖ ﺟﻤﻴﻊ ﺍﻟﻤﻨﺎﻃﻖ ﺍﻟﻀﺮﻭﺭﻳﺔ ﻟﺴﻄﺢ ﻫﺠﻮﻡ
ﺍﻟﺘﻄﺒﻴﻖ،ﻭﻋﺜﺮﺕ ﻋﻠﻰ ﺃﻛﺒﺮ ﻋﺪﺩ ﻣﻤﻜﻦ ﻣﻦ ﺍﻟﻤﺸﺎﻛﻞ ،ﻓﻲ ﻇﻞ ﺍﻟﻤﻮﺍﺭﺩ ﺍﻟﻤﺘﺎﺣﺔ ﻟﻚ.
ﻳﻮﺿﺢﺍﻟﺸﻜﻞ 1-21ﻣﺠﺎﻻﺕ ﺍﻟﻌﻤﻞ ﺍﻟﺮﺉﻴﺴﻴﺔ ﺍﻟﺘﻲ ﺗﺼﻔﻬﺎ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ .ﺳﻨﺘﻌﻤﻖ ﻓﻲ ﻫﺬﺍ
ﺍﻟﺮﺳﻢﺍﻟﺒﻴﺎﻧﻲ ﻭﻧﻮﺿﺢ ﺗﻘﺴﻴﻢ ﺍﻟﻤﻬﺎﻡ ﺍﻟﺘﻲ ﻳﺘﻀﻤﻨﻬﺎ ﻛﻞ ﻣﺠﺎﻝ .ﺗﺘﻮﺍﻓﻖ ﺍﻷﺭﻗﺎﻡ ﻓﻲ ﺍﻟﺮﺳﻮﻡ ﺍﻟﺒﻴﺎﻧﻴﺔ
ﻣﻊﺍﻟﻘﺎﺉﻤﺔ ﺍﻟﻤﺮﻗﻤﺔ ﺍﻟﻬﺮﻣﻴﺔ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺍﻟﻤﻨﻬﺠﻴﺔ ،ﻣﻤﺎ ﻳﺘﻴﺢ ﻟﻚ ﺍﻻﻧﺘﻘﺎﻝ ﺑﺴﻬﻮﻟﺔ ﺇﻟﻰ
ﺍﻹﺟﺮﺍءﺍﺕﺍﻟﻤﺘﻌﻠﻘﺔ ﺑﻜﻞ ﻣﺠﺎﻝ.
ﺗﻘُﺪﻡَّﺍﻟﻤﻨﻬﺠﻴﺔ ﻛﺴﻠﺴﻠﺔ ﻣﻦ ﺍﻟﻤﻬﺎﻡ ﺍﻟﻤﻨُﻈﻤَّﺔ ﻭﺍﻟﻤﺮﺗﺒَّﺔ ﻭﻓﻘﺎً ﻟﻠﺘﺮﺍﺑﻂ ﺍﻟﻤﻨﻄﻘﻲ ﺑﻴﻨﻬﺎ .ﻭﻳﺴُﻠﻂَّ
ﺍﻟﻀﻮءﻋﻠﻰ ﻫﺬﻩ ﺍﻟﺘﺮﺍﺑﻄﺎﺕ ﻗﺪﺭ ﺍﻹﻣﻜﺎﻥ ﻓﻲ ﺃﻭﺻﺎﻑ ﺍﻟﻤﻬﺎﻡ .ﻭﻣﻊ ﺫﻟﻚ ،ﺳﺘﺤﺘﺎﺝ ﻋﻤﻠﻴﺎً ﺇﻟﻰ ﺍﻟﺘﻔﻜﻴﺮ
ﺑﺸﻜﻞﻣﺘُﺨﻴﻞَّ ﻓﻲ ﺍﻻﺗﺠﺎﻩ ﺍﻟﺬﻱ ﻳﻨﺒﻐﻲ ﺃﻥ ﺗﺴﻠﻜﻪ ﺃﻧﺸﻄﺘﻚ ،ﻭﺃﻥ ﺗﺴﺘﺮﺷﺪ ﺑﻤﺎ ﺗﻜﺘﺸﻔﻪ ﺣﻮﻝ
ﺍﻟﺘﻄﺒﻴﻖﺍﻟﺬﻱ ﺗﻌُﻨﻰ ﺑﻪ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
ﻗﺪﺗﻤُﻜﻨّﻚ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﺠُﻤﻌّﺔ ﻓﻲ ﻣﺮﺣﻠﺔ ﻭﺍﺣﺪﺓ ﻣﻦ ﺍﻟﻌﻮﺩﺓ ﺇﻟﻰ ﻣﺮﺣﻠﺔ ﺳﺎﺑﻘﺔ ﻭﺻﻴﺎﻏﺔ -
ﻫﺠﻤﺎﺕﺃﻛﺜﺮ ﺗﺮﻛﻴﺰﺍً .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻗﺪ ﻳﻤُﻜﻨّﻚ ﺧﻠﻞ ﻓﻲ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ﻳﻤُﻜﻨّﻚ
ﻣﻦﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﻗﺎﺉﻤﺔ ﺑﺠﻤﻴﻊ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻣﻦ:
791
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 792
ﻗﺪﻳﻤُﻜﻨّﻚ ﺍﻛﺘﺸﺎﻑ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﺭﺉﻴﺴﻴﺔ ﻓﻲ ﺃﺣﺪ ﺟﻮﺍﻧﺐ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺍﺧﺘﺼﺎﺭ ﺑﻌﺾ -
ﺍﻟﻤﻬﺎﻡﻓﻲ ﺟﻮﺍﻧﺐ ﺃﺧﺮﻯ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻗﺪ ﺗﻤُﻜﻨّﻚ ﺛﻐﺮﺓ ﺍﻟﻜﺸﻒ ﻋﻦ ﺍﻟﻤﻠﻔﺎﺕ ﻣﻦ
ﻣﺮﺍﺟﻌﺔﺑﺮﻣﺠﻴﺔ ﻟﻮﻇﺎﺉﻒ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺮﺉﻴﺴﻴﺔ ﺑﺪﻻ ًﻣﻦ ﻓﺤﺼﻬﺎ ﺑﻄﺮﻳﻘﺔ ﺳﺮﻳﺔ.
ﻗﺪﺗﺒُﺮﺯ ﻧﺘﺎﺉﺞ ﺍﺧﺘﺒﺎﺭﺍﺗﻚ ﻓﻲ ﺑﻌﺾ ﺍﻟﻤﺠﺎﻻﺕ ﺃﻧﻤﺎﻃﺎً ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻟﻤﺘﻜﺮﺭﺓ ﺍﻟﺘﻲ ﻳﻤُﻜﻨﻚ -
ﺍﻟﺒﺤﺚﻋﻨﻬﺎ ﻓﻮﺭﺍً ﻓﻲ ﻣﺠﺎﻻﺕ ﺃﺧﺮﻯ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻗﺪ ﻳﻤُﻜﻨّﻚ ﺧﻠﻞ ﻋﺎﻡ ﻓﻲ
ﻣﺮُﺷﺤّﺎﺕﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﻣﺪُﺧﻼﺕ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺇﻳﺠﺎﺩ ﻃﺮﻳﻘﺔ ﺳﺮﻳﻌﺔ ﻟﺘﺠﺎﻭﺯ ﺩﻓﺎﻋﺎﺗﻪ
ﺿﺪﻓﺉﺎﺕ ﻣﺨُﺘﻠﻔﺔ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ.
ﺍﻻﺳﺘﻄﻼﻉﻭﺍﻟﺘﺤﻠﻴﻞ
.2ﺗﺤﻠﻴﻞ ﺍﻟﺘﻄﺒﻴﻖ
.8ﺍﺧﺘﺒﺎﺭ ﺍﻟﻤﺸﻜﻼﺕ
.11ﺍﺧﺘﺒﺎﺭ ﺧﺎﺩﻡ .5ﺟﻠﺴﺔ ﺍﻻﺧﺘﺒﺎﺭ .9ﺍﺧﺘﺒﺎﺭ ﺍﻟﻌﻴﻮﺏ
ﺍﻟﻤﺘﻌﻠﻘﺔﺑـ
ﺍﻟﻮﻳﺐ ﺇﺩﺍﺭﺓ ﺍﻟﻤﻨﻄﻘﻴﺔ
ﺍﻟﻮﻇﻴﻔﺔ
.6ﺍﺧﺘﺒﺎﺭ ﺍﻟﻮﺻﻮﻝ
ﻋﻨﺎﺻﺮﺍﻟﺘﺤﻜﻢ
.13ﺍﻟﻤﻌﻠﻮﻣﺎﺕ .12ﻣﺘﻔﺮﻗﺎﺕ
ﺗﺴﺮﺏ ﺍﻟﺸﻴﻜﺎﺕ
ﺍﺳﺘﺨﺪﻡﺍﻟﺨﻄﻮﺍﺕ ﺍﻟﻮﺍﺭﺩﺓ ﻓﻲ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ ﻟﺘﻮﺟﻴﻪ ﻋﻤﻠﻚ ،ﻭﻛﻘﺎﺉﻤﺔ ﻣﺮﺟﻌﻴﺔ ﻟﺘﺠﻨﺐ ﺃﻱ
ﺳﻬﻮ،ﻭﻟﻜﻦ ﻻ ﺗﺸﻌﺮ ﺑﺄﻧﻚ ﻣﻠﺰﻡ ﺑﺎﻻﻟﺘﺰﺍﻡ ﺑﻬﺎ ﺑﺸﻜﻞ ﺻﺎﺭﻡ.
793 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﺍﻟﻔﻜﺮﺓﺍﻟﺘﺎﻟﻴﺔ ﻓﻲ ﺍﻻﻋﺘﺒﺎﺭ :ﺍﻟﻤﻬﺎﻡ ﺍﻟﺘﻲ ﻧﺼﻔﻬﺎ ﻫﻲ ﺇﻟﻰ ﺣﺪ ﻛﺒﻴﺮ ﻗﻴﺎﺳﻴﺔ ﻭﺗﻘﻠﻴﺪﻳﺔ؛ ﻭﺍﻟﻬﺠﻤﺎﺕ
ﺍﻷﻛﺜﺮﺇﺛﺎﺭﺓ ﻟﻺﻋﺠﺎﺏ ﺿﺪ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ ﺗﻨﻄﻮﻱ ﺩﺍﺉﻤﺎً ﻋﻠﻰ ﺍﻟﺘﻔﻜﻴﺮ ﺧﺎﺭﺟﻬﺎ.
ﺍﻟﻤﺒﺎﺩﺉﺍﻟﺘﻮﺟﻴﻬﻴﺔ ﺍﻟﻌﺎﻣﺔ
ﻳﺠﺐﻋﻠﻴﻚ ﺩﺍﺉﻤﺎً ﻣﺮﺍﻋﺎﺓ ﺑﻌﺾ ﺍﻻﻋﺘﺒﺎﺭﺍﺕ ﺍﻟﻌﺎﻣﺔ ﻋﻨﺪ ﺗﻨﻔﻴﺬ ﺍﻟﻤﻬﺎﻡ ﺍﻟﺘﻔﺼﻴﻠﻴﺔ ﺍﻟﻤﺘﻌﻠﻘﺔ
ﺑﻤﻬﺎﺟﻤﺔﺗﻄﺒﻴﻖ ﻭﻳﺐ .ﻗﺪ ﺗﻨﻄﺒﻖ ﻫﺬﻩ ﺍﻻﻋﺘﺒﺎﺭﺍﺕ ﻋﻠﻰ ﻣﺨﺘﻠﻒ ﺍﻟﻤﺠﺎﻻﺕ ﺍﻟﺘﻲ ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﻓﺤﺼﻬﺎ
ﻭﺍﻟﺘﻘﻨﻴﺎﺕﺍﻟﺘﻲ ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﺗﻨﻔﻴﺬﻫﺎ.
ﺗﺬﻛﺮﺃﻥ ﻟﻜﻞ ﺣﺮﻑ ﻣﻌﻨﻰ ﺧﺎﺹ ﻓﻲ ﺃﺟﺰﺍء ﻣﺨﺘﻠﻔﺔ ﻣﻦ ﻃﻠﺐ .HTTPﻋﻨﺪ ﺗﻌﺪﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ -
&ﻳﺴُﺘﺨﺪﻡ ﻟﻔﺼﻞ ﺍﻟﻤﻌﺎﻣﻼﺕ ﻓﻲ ﺳﻠﺴﻠﺔ ﺍﺳﺘﻌﻼﻡ ﻋﻨﻮﺍﻥ URLﻭﻧﺺ ﺍﻟﺮﺳﺎﻟﺔ .ﻹﺩﺭﺍﺝ -
=ﻳﺴُﺘﺨﺪﻡ ﻟﻔﺼﻞ ﺍﺳﻢ ﻭﻗﻴﻤﺔ ﻛﻞ ﻣﻌﻠﻤﺔ ﻓﻲ ﺳﻠﺴﻠﺔ ﺍﺳﺘﻌﻼﻡ ﻋﻨﻮﺍﻥ URLﻭﻧﺺ -
؟ﻳﺴُﺘﺨﺪﻡ ﻟﺘﺤﺪﻳﺪ ﺑﺪﺍﻳﺔ ﺳﻠﺴﻠﺔ ﺍﺳﺘﻌﻼﻡ ﻋﻨﻮﺍﻥ .URLﻹﺩﺭﺍﺝ ﺣﺮﻑ "؟" ﺣﺮﻓﻴﺎً ،ﻳﺠﺐ -
ﺗﺮﻣﻴﺰﻩﻛـ 3%ﻑ.
ﻳﺘﻢﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻤﺴﺎﻓﺔ ﻟﺘﺤﺪﻳﺪ ﻧﻬﺎﻳﺔ ﻋﻨﻮﺍﻥ URLﻓﻲ ﺍﻟﺴﻄﺮ ﺍﻷﻭﻝ ﻣﻦ ﺍﻟﻄﻠﺒﺎﺕ ﻭﻳﻤﻜﻦ -
ﺃﻥﺗﺸﻴﺮ ﺇﻟﻰ ﻧﻬﺎﻳﺔ ﻗﻴﻤﺔ ﻣﻠﻒ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﻓﻲﻛﻮﻛﻴﺰﺍﻟﺮﺃﺱ .ﻹﺩﺭﺍﺝ ﻣﺴﺎﻓﺔ ﺣﺮﻓﻴﺔ،
ﻳﺠﺐﺗﺮﻣﻴﺰﻫﺎ ﻛـ 20%ﺃﻭ .+
ﻧﻈﺮﺍًﻷﻥ +ﻳﻤﺜﻞ ﻣﺴﺎﻓﺔ ﻣﺸﻔﺮﺓ ،ﻹﺩﺭﺍﺝ ﺣﺮﻑ +ﺣﺮﻓﻲ ،ﻳﺠﺐ ﻋﻠﻴﻚ ﺗﺮﻣﻴﺰ ﻫﺬﺍ ﻋﻠﻰ -
ﻫﻴﺉﺔ2%ﺏ.
؛ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻟﻔﺼﻞ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﻔﺮﺩﻳﺔ ﻓﻲﻛﻮﻛﻴﺰﺍﻟﺮﺃﺱ .ﻹﺩﺭﺍﺝ ﺣﺮﻑ ;، -
ﻳﺠﺐﺗﺮﻣﻴﺰﻩ ﻛـ 3%ﺏ.
#ﻳﺴُﺘﺨﺪﻡﻟﺘﺤﺪﻳﺪ ﻣﻌُﺮﻑِّ ﺍﻟﺠﺰء ﺩﺍﺧﻞ ﻋﻨﻮﺍﻥ .URLﺇﺫﺍ ﺃﺩﺧﻠﺖ َﻫﺬﺍ ﺍﻟﺤﺮﻑ ﻓﻲ ﻋﻨﻮﺍﻥ -
URLﺩﺍﺧﻞ ﻣﺘﺼﻔﺤﻚ ،ﻓﺴﻴﺆﺩﻱ ﺫﻟﻚ ﺇﻟﻰ ﺣﺬﻑ ﻋﻨﻮﺍﻥ URLﺍﻟﻤﺮُﺳﻞَ ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ.
ﻹﺩﺭﺍﺝﺣﺮﻑ #ﺣﺮﻓﻴﺎً ،ﻳﺠﺐ ﺗﺮﻣﻴﺰﻩ ﻛـ .23.%
ﻳﺠﺐﺑﺎﻟﻄﺒﻊ ﺗﺮﻣﻴﺰ ﺃﻱ ﺃﺣﺮﻑ ﻏﻴﺮ ﻗﺎﺑﻠﺔ ﻟﻠﻄﺒﺎﻋﺔ ﻣﺜﻞ ﺍﻟﺒﺎﻳﺘﺎﺕ ﺍﻟﻔﺎﺭﻏﺔ ﻭﺍﻷﺳﻄﺮ ﺍﻟﺠﺪﻳﺪﺓ -
ﺑﺎﺳﺘﺨﺪﺍﻡﺭﻣﺰ ﺣﺮﻑ ASCIIﺍﻟﺨﺎﺹ ﺑﻬﺎ -ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ،ﻛـ00%ﻭ 0٪ﺃ,ﻋﻠﻰ ﺍﻟﺘﻮﺍﻟﻰ.
ﻋﻼﻭﺓﻋﻠﻰ ﺫﻟﻚ ،ﺗﺠﺪﺭ ﺍﻹﺷﺎﺭﺓ ﺇﻟﻰ ﺃﻥ ﺇﺩﺧﺎﻝ ﺑﻴﺎﻧﺎﺕ ﻣﺮُﻣﺰَّﺓ ﺑﺮﺍﺑﻂ URLﻓﻲ ﻧﻤﻮﺫﺝ ﻋﺎﺩﺓ ًﻣﺎ -
ﺇﺭﺳﺎﻝ00%ﻓﻲ ﻧﻤﻮﺫﺝ ﻣﻦ ﺍﻟﻤﺤﺘﻤﻞ ﺃﻥ ﻳﺆﺩﻱ ﺇﻟﻰ ﻗﻴﻤﺔ 2500%ﻳﺘﻢ ﺇﺭﺳﺎﻟﻬﺎ ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ.
ﻟﻬﺬﺍﺍﻟﺴﺒﺐ ،ﻳﻔُﻀﻞّ ﻋﺎﺩﺓ ًﻣﺮﺍﻗﺒﺔ ﺍﻟﻄﻠﺐ ﺍﻟﻨﻬﺎﺉﻲ ﺿﻤﻦ ﻭﻛﻴﻞ ﺍﻋﺘﺮﺍﺽ.
ﺗﺘﻀﻤﻦﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﺧﺘﺒﺎﺭﺍﺕ ﺛﻐﺮﺍﺕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ ﺍﻟﺸﺎﺉﻌﺔ ﺇﺭﺳﺎﻝ ﺳﻼﺳﻞ ﺇﺩﺧﺎﻝ -
ﻣﻌُﺪﺓّﻣﺨُﺘﻠﻔﺔ ﻭﻣﺮﺍﻗﺒﺔ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺤﺜﺎً ﻋﻦ ﺃﻱ ﺷﺬﻭﺫ ﻳﺸُﻴﺮ ﺇﻟﻰ ﻭﺟﻮﺩ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ.
ﻓﻲﺑﻌﺾ ﺍﻟﺤﺎﻻﺕ ،ﺗﺤﺘﻮﻱ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺘﻄﺒﻴﻖ ﻟﻄﻠﺐ ﻣﻌُﻴﻦّ ﻋﻠﻰ ﺗﻮﻗﻴﻊ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﻣﺤُﺪﺩّﺓ،
ﺑﻐﺾﺍﻟﻨﻈﺮ ﻋﻤﺎّ ﺇﺫﺍ ﻛﺎﻥ ﻗﺪ ﺗﻢ ﺇﺭﺳﺎﻝ ﻣﺤُﻔﺰّ ﻟﻬﺬﻩ ﺍﻟﺜﻐﺮﺓ ﺃﻡ ﻻ .ﻓﻲ ﺃﻱ ﺣﺎﻟﺔ ﺗﺆُﺩﻱ ﻓﻴﻬﺎ
ﻣﺪُﺧﻼﺕﻣﻌُﺪﺓّ ﻣﺤُﺪﺩّﺓ ﺇﻟﻰ ﺳﻠﻮﻙ ﻣﺮُﺗﺒﻂ ﺑﺜﻐﺮﺓ ﺃﻣﻨﻴﺔ )ﻣﺜﻞ ﺭﺳﺎﻟﺔ ﺧﻄﺄ ﻣﻌُﻴﻨّﺔ( ،ﻳﺠﺐ
ﻋﻠﻴﻚﺍﻟﺘﺤﻘﻖ ﻣﺠُﺪﺩّﺍً ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺇﺭﺳﺎﻝ ﻣﺪُﺧﻼﺕ ﺳﻠﻴﻤﺔ ﻓﻲ ﺍﻟﻤﻌُﺎﻣﻞ ﺫﻱ ﺍﻟﺼﻠﺔ ﻳﺴُﺒﺐّ
ﺍﻟﺴﻠﻮﻙﻧﻔﺴﻪ ﺃﻳﻀﺎً .ﺇﺫﺍ ﻛﺎﻥ ﺍﻷﻣﺮ ﻛﺬﻟﻚ ،ﻓﻤﻦ ﺍﻟﻤﺮُﺟﺢّ ﺃﻥ ﺗﻜﻮﻥ ﺍﻟﻨﺘﻴﺠﺔ ﺍﻟﻤﺒُﺪﺉﻴﺔ ﺇﻳﺠﺎﺑﻴﺔ
ﺧﺎﻃﺉﺔ.
ﻋﺎﺩﺓ ًﻣﺎ ﺗﺮُﺍﻛﻢ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻛﻤﻴﺔ ﻣﻦ ﺍﻟﺤﺎﻻﺕ ﻣﻦ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﺴﺎﺑﻘﺔ ،ﻣﻤﺎ ﻳﺆﺛﺮ ﻋﻠﻰ ﻛﻴﻔﻴﺔ -
ﺍﺳﺘﺠﺎﺑﺘﻬﺎﻟﻠﻄﻠﺒﺎﺕ ﺍﻟﻼﺣﻘﺔ .ﺃﺣﻴﺎﻧﺎً ،ﻋﻨﺪ ﻣﺤﺎﻭﻟﺔ ﺍﻟﺘﺤﻘﻴﻖ ﻓﻲ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﻣﺆﻗﺘﺔ ﻭﻋﺰﻝ
ﺍﻟﺴﺒﺐﺍﻟﺪﻗﻴﻖ ﻟﺴﻠﻮﻙ ﺷﺎﺫ ﻣﻌُﻴﻦ ،ﻳﺠﺐ ﺇﺯﺍﻟﺔ ﺁﺛﺎﺭ ﺃﻱ ﺣﺎﻟﺔ ﻣﺘُﺮﺍﻛﻤﺔ .ﻟﻠﻘﻴﺎﻡ ﺑﺬﻟﻚ ،ﻳﻜﻔﻲ
ﻋﺎﺩﺓ ًﺑﺪء ﺟﻠﺴﺔ ﺟﺪﻳﺪﺓ ﺑﻌﻤﻠﻴﺔ ﻣﺘﺼﻔﺢ ﺟﺪﻳﺪﺓ ،ﻭﺍﻻﻧﺘﻘﺎﻝ ﺇﻟﻰ ﻣﻮﻗﻊ ﺍﻟﺸﺬﻭﺫ ﺍﻟﻤﻼُﺣﻆ
ﺑﺎﺳﺘﺨﺪﺍﻡﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﺤﻤﻴﺪﺓ ﻓﻘﻂ ،ﺛﻢ ﺇﻋﺎﺩﺓ ﺇﺭﺳﺎﻝ ﻣﺪُﺧﻼﺗﻚ ﺍﻟﻤﻌُﺪﺓّ .ﻳﻤُﻜﻨﻚ ﻏﺎﻟﺒﺎً ﺗﻜﺮﺍﺭ
ﻫﺬﺍﺍﻹﺟﺮﺍء ﻋﻦ ﻃﺮﻳﻖ ﺗﻌﺪﻳﻞ ﺃﺟﺰﺍء ﻃﻠﺒﺎﺗﻚ ﺍﻟﺘﻲ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ
ﻭﻣﻌﻠﻮﻣﺎﺕﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻤﺆﻗﺖ .ﻋﻼﻭﺓ ًﻋﻠﻰ ﺫﻟﻚ ،ﻳﻤُﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺃﺩﺍﺓ ﻣﺜﻞ Repeater
Burpﻟﻌﺰﻝ ﻃﻠﺐ ،ﻭﺇﺟﺮﺍء ﺗﻌﺪﻳﻼﺕ ﻣﺤُﺪﺩﺓ ﻋﻠﻴﻪ ،ﻭﺇﻋﺎﺩﺓ ﺇﺻﺪﺍﺭﻩ ﻋﺪﺓ ﻣﺮﺍﺕ ﺣﺴﺐ
ﺍﻟﺤﺎﺟﺔ.
ﺗﺴﺘﺨﺪﻡﺑﻌﺾ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺗﻜﻮﻳﻨﺎً ﻣﺘﻮﺍﺯﻥ ﺍﻟﺤﻤﻞ ،ﺣﻴﺚ ﻳﻤﻜﻦ ﻣﻌﺎﻟﺠﺔ ﻃﻠﺒﺎﺕ HTTP -
ﺍﻟﻤﺘﺘﺎﻟﻴﺔﺑﻮﺍﺳﻄﺔ ﺧﻮﺍﺩﻡ ﺧﻠﻔﻴﺔ ﻣﺨﺘﻠﻔﺔ ﻋﻠﻰ ﺍﻟﻮﻳﺐ ،ﺃﻭ ﺍﻟﻌﺮﺽ ﺍﻟﺘﻘﺪﻳﻤﻲ ،ﺃﻭ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﺃﻭ
ﻣﺴﺘﻮﻳﺎﺕﺃﺧﺮﻯ .ﻗﺪ ﺗﺨﺘﻠﻒ ﺍﻟﺨﻮﺍﺩﻡ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻓﻲ ﺍﻟﺘﻜﻮﻳﻦ ،ﻣﻤﺎ ﻳﺆﺛﺮ ﻋﻠﻰ ﻧﺘﺎﺉﺠﻚ .ﻋﻼﻭﺓ
ﻋﻠﻰﺫﻟﻚ ،ﻗﺪ ﺗﺆﺩﻱ ﺑﻌﺾ ﺍﻟﻬﺠﻤﺎﺕ ﺍﻟﻨﺎﺟﺤﺔ ﺇﻟﻰ ﺗﻐﻴﻴﺮ ﻓﻲ ﺣﺎﻟﺔ ﺍﻟﺨﺎﺩﻡ ﺍﻟﻤﺤﺪﺩ ﺍﻟﺬﻱ ﻳﻌﺎﻟﺞ
ﻃﻠﺒﺎﺗﻚ،ﻣﺜﻞ ﺇﻧﺸﺎء ﻣﻠﻒ ﺟﺪﻳﺪ ﺩﺍﺧﻞ ﺟﺬﺭ ﺍﻟﻮﻳﺐ .ﻟﻌﺰﻝ ﺁﺛﺎﺭ ﺇﺟﺮﺍءﺍﺕ ﻣﻌﻴﻨﺔ ،ﻗﺪ ﻳﻜﻮﻥ ﻣﻦ
ﺍﻟﻀﺮﻭﺭﻱﺗﻨﻔﻴﺬ ﻋﺪﺓ ﻃﻠﺒﺎﺕ ﻣﺘﻄﺎﺑﻘﺔ ﺑﺎﻟﺘﺘﺎﺑﻊ ،ﻭﺍﺧﺘﺒﺎﺭ ﻧﺘﻴﺠﺔ ﻛﻞ ﻣﻨﻬﺎ ﺣﺘﻰ ﺗﺘﻢ ﻣﻌﺎﻟﺠﺔ
ﻃﻠﺒﻚﺑﻮﺍﺳﻄﺔ ﺍﻟﺨﺎﺩﻡ ﺍﻟﻤﻌﻨﻲ.
ﺑﺎﻓﺘﺮﺍﺽﺃﻧﻚ ﺗﻄﺒﻖ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ ﻛﺠﺰء ﻣﻦ ﻣﻬﻤﺔ ﺍﺳﺘﺸﺎﺭﻳﺔ ،ﻳﺠﺐ ﻋﻠﻴﻚ ﺩﺍﺉﻤﺎً ﺍﻟﺘﺄﻛﺪ ﻣﻦ
ﺇﺟﺮﺍءﻋﻤﻠﻴﺔ ﺗﺤﺪﻳﺪ ﺍﻟﻨﻄﺎﻕ ﺍﻟﻤﻌﺘﺎﺩﺓ ﻟﻼﺗﻔﺎﻕ ﺑﺪﻗﺔ ﻋﻠﻰ ﺃﺳﻤﺎء ﺍﻟﻤﻀﻴﻔﻴﻦ ﻭﻋﻨﺎﻭﻳﻦ URL
ﻭﺍﻟﻮﻇﺎﺉﻒﺍﻟﺘﻲ ﺳﻴﺘﻢ ﺗﻀﻤﻴﻨﻬﺎ ،ﻭﻣﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺃﻱ ﻗﻴﻮﺩ ﻋﻠﻰ ﺃﻧﻮﺍﻉ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﻤﺴﻤﻮﺡ
ﻟﻚﺑﺈﺟﺮﺍﺉﻬﺎ .ﻳﺠﺐ ﻋﻠﻴﻚ ﺗﻮﻋﻴﺔ ﻣﺎﻟﻚ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺎﻟﻤﺨﺎﻃﺮ ﺍﻟﻜﺎﻣﻨﺔ ﺍﻟﺘﻲ ﻳﻨﻄﻮﻱ ﻋﻠﻴﻬﺎ ﺇﺟﺮﺍء ﺃﻱ ﻧﻮﻉ
ﻣﻦﺍﺧﺘﺒﺎﺭﺍﺕ ﺍﻻﺧﺘﺮﺍﻕ ﺿﺪ ﻫﺪﻑ ﻏﻴﺮ ﻣﻌﺮﻭﻑ .ﺃﻧﺼﺢ ﺍﻟﻤﺎﻟﻚ ﺑﻨﺴﺦ ﺃﻱ ﺑﻴﺎﻧﺎﺕ ﻣﻬﻤﺔ ﺍﺣﺘﻴﺎﻃﻴﺎً
ﻗﺒﻞﺑﺪء ﺍﻟﻌﻤﻞ.
795 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
١.١.٣ﺗﺼﻔﺢّ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺎﻟﻜﺎﻣﻞ ﺑﺎﻟﻄﺮﻳﻘﺔ ﺍﻻﻋﺘﻴﺎﺩﻳﺔ ،ﺑﺰﻳﺎﺭﺓ ﺟﻤﻴﻊ ﺍﻟﺮﻭﺍﺑﻂ ﻭﻋﻨﺎﻭﻳﻦ ،URLﻭﺇﺭﺳﺎﻝ
ﺟﻤﻴﻊﺍﻟﻨﻤﺎﺫﺝ ،ﻭﻣﺘﺎﺑﻌﺔ ﺟﻤﻴﻊ ﺍﻟﻮﻇﺎﺉﻒ ﻣﺘﻌﺪﺩﺓ ﺍﻟﺨﻄﻮﺍﺕ ﺣﺘﻰ ﺍﻛﺘﻤﺎﻟﻬﺎ .ﺟﺮﺏّ ﺍﻟﺘﺼﻔﺢ
ﻣﻊﺗﻔﻌﻴﻞ ﻭﺗﻌﻄﻴﻞ ،JavaScriptﻭﺗﻔﻌﻴﻞ ﻭﺗﻌﻄﻴﻞ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ .ﻳﻤﻜﻦ
ﻟﻠﻌﺪﻳﺪﻣﻦ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺇﻋﺪﺍﺩﺍﺕ ﻣﺘﺼﻔﺤﺎﺕ ﻣﺨﺘﻠﻔﺔ ،ﻭﻗﺪ ﺗﺼﻞ ﺇﻟﻰ
ﻣﺴﺎﺭﺍﺕﻣﺤﺘﻮﻯ ﻭﺃﻛﻮﺍﺩ ﻣﺨﺘﻠﻔﺔ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ.
1.1.4ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ﺍﻟﻤﺼﺎﺩﻗﺔ ،ﻭﻟﺪﻳﻚ ﺣﺴﺎﺏ ﺗﺴﺠﻴﻞ ﺩﺧﻮﻝ ﺃﻭ ﻳﻤﻜﻨﻚ ﺇﻧﺸﺎء ﺣﺴﺎﺏ
ﺗﺴﺠﻴﻞﺩﺧﻮﻝ ،ﻓﺎﺳﺘﺨﺪﻡ ﻫﺬﺍ ﺍﻟﺤﺴﺎﺏ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﻤﺤﻤﻴﺔ.
1.1.5ﺃﺛﻨﺎء ﺍﻟﺘﺼﻔﺢ ،ﻗﻢ ﺑﻤﺮﺍﻗﺒﺔ ﺍﻟﻄﻠﺒﺎﺕ ﻭﺍﻻﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻲ ﺗﻤﺮ ﻋﺒﺮ ﻭﻛﻴﻞ ﺍﻻﻋﺘﺮﺍﺽ ﺍﻟﺨﺎﺹ
ﺑﻚﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﻓﻬﻢ ﻷﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﺘﻢ ﺇﺭﺳﺎﻟﻬﺎ ﻭﺍﻟﻄﺮﻕ ﺍﻟﺘﻲ ﻳﺘﻢ ﺑﻬﺎ ﺍﺳﺘﺨﺪﺍﻡ
ﺍﻟﻌﻤﻴﻞﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺳﻠﻮﻙ ﺗﻄﺒﻴﻖ ﺟﺎﻧﺐ ﺍﻟﺨﺎﺩﻡ.
١.١.٦ﺭﺍﺟﻊ ﺧﺮﻳﻄﺔ ﺍﻟﻤﻮﻗﻊ ﺍﻟﻤﻮُﻟﺪّﺓ ﺑﻮﺍﺳﻄﺔ ﺍﻟﺘﺘﺒﻊ ﺍﻟﺴﻠﺒﻲ ،ﻭﺣﺪﺩ ﺃﻱ ﻣﺤﺘﻮﻯ ﺃﻭ ﻭﻇﻴﻔﺔ ﻟﻢ
ﺗﺘﺼﻔﺤﻬﺎﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﺘﺼﻔﺤﻚ .ﻣﻦ ﻧﺘﺎﺉﺞ ﺍﻟﺘﺘﺒﻊ ،ﺣﺪﺩ ﻣﻜﺎﻥ ﺍﻛﺘﺸﺎﻑ ﻛﻞ ﻋﻨﺼﺮ )ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ ،ﻓﻲ ،Burp Spiderﺗﺤﻘﻖ ﻣﻦ ﺗﻔﺎﺻﻴﻞ "ﺍﻟﺮﺍﺑﻂ ﻣﻦ"( .ﺍﺩﺧﻞ ﺇﻟﻰ ﻛﻞ
ﻋﻨﺼﺮﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﺘﺼﻔﺤﻚ ﺣﺘﻰ ﻳﻘﻮﻡ ﺍﻟﺘﺘﺒﻊ ﺑﺘﺤﻠﻴﻞ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺨﺎﺩﻡ ﻟﺘﺤﺪﻳﺪ ﺃﻱ ﻣﺤﺘﻮﻯ
ﺇﺿﺎﻓﻲ.ﻛﺮﺭ ﻫﺬﻩ ﺍﻟﺨﻄﻮﺓ ﺣﺘﻰ ﻻ ﻳﺘﻢ ﺗﺤﺪﻳﺪ ﺃﻱ ﻣﺤﺘﻮﻯ ﺃﻭ ﻭﻇﻴﻔﺔ ﺇﺿﺎﻓﻴﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 796
1.1.7ﺑﻌﺪ ﺍﻻﻧﺘﻬﺎء ﻣﻦ ﺍﻟﺘﺼﻔﺢ ﺍﻟﻴﺪﻭﻱ ﻭﺍﻟﺘﺘﺒﻊ ﺍﻟﺴﻠﺒﻲ ،ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻋﻨﻜﺒﻮﺗﻚ ﻟﻠﺰﺣﻒ
ﺍﻟﻨﺸﻂﺇﻟﻰ ﺍﻟﺘﻄﺒﻴﻖ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﺠﻤﻮﻋﺔ ﻋﻨﺎﻭﻳﻦ URLﺍﻟﻤﻜﺘﺸﻔﺔ ﻛﺒﺬﻭﺭ .ﻗﺪ ﻳﻜﺸﻒ ﻫﺬﺍ
ﺃﺣﻴﺎﻧﺎًﻋﻦ ﻣﺤﺘﻮﻯ ﺇﺿﺎﻓﻲ ﺃﻏﻔﻠﺘﻪ ﻋﻨﺪ ﺍﻟﻌﻤﻞ ﻳﺪﻭﻳﺎً .ﻗﺒﻞ ﺇﺟﺮﺍء ﺍﻟﺰﺣﻒ ﺍﻟﺘﻠﻘﺎﺉﻲ ،ﺣﺪﺩ
ﺃﻭﻻًﺃﻱ ﻋﻨﺎﻭﻳﻦ URLﺧﻄﻴﺮﺓ ﺃﻭ ﻳﺤُﺘﻤﻞ ﺃﻥ ﺗﻌُﻄﻞ ﺟﻠﺴﺔ ﺍﻟﺘﻄﺒﻴﻖ ،ﺛﻢ ﻗﻢ ﺑﺘﻜﻮﻳﻦ
ﻋﻨﻜﺒﻮﺗﻚﻻﺳﺘﺒﻌﺎﺩﻫﺎ ﻣﻦ ﻧﻄﺎﻗﻪ.
١.٢.٢ﺍﺳﺘﺨﺪﻡ ﺧﻴﺎﺭﺍﺕ ﺍﻟﺒﺤﺚ ﺍﻟﻤﺘﻘﺪﻣﺔ ﻟﺘﺤﺴﻴﻦ ﻓﻌﺎﻟﻴﺔ ﺑﺤﺜﻚ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻳﻤﻜﻨﻚ
ﺍﺳﺘﺨﺪﺍﻡﺟﻮﺟﻞﻣﻮﻗﻊ:ﻻﺳﺘﺮﺩﺍﺩ ﻛﻞ ﺍﻟﻤﺤﺘﻮﻯ ﻟﻤﻮﻗﻌﻚ ﺍﻟﻤﺴﺘﻬﺪﻑ ﻭﻭﺻﻠﺔ:ﻻﺳﺘﺮﺟﺎﻉ
ﺍﻟﻤﻮﺍﻗﻊﺍﻷﺧﺮﻯ ﺍﻟﻤﺮﺗﺒﻄﺔ ﺑﻪ .ﺇﺫﺍ ﻛﺸﻒ ﺑﺤﺜﻚ ﻋﻦ ﻣﺤﺘﻮﻯ ﻟﻢ ﻳﻌﺪ ﻣﻮﺟﻮﺩﺍً ﻓﻲ ﺍﻟﺘﻄﺒﻴﻖ
ﺍﻟﻨﺸﻂ،ﻓﻘﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﻋﺮﺿﻪ ﻣﻦ ﺫﺍﻛﺮﺓ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻤﺆﻗﺖ ﻟﻤﺤﺮﻙ ﺍﻟﺒﺤﺚ .ﻗﺪ ﻳﺤﺘﻮﻱ
ﻫﺬﺍﺍﻟﻤﺤﺘﻮﻯ ﺍﻟﻘﺪﻳﻢ ﻋﻠﻰ ﺭﻭﺍﺑﻂ ﻟﻤﻮﺍﺭﺩ ﺇﺿﺎﻓﻴﺔ ﻟﻢ ﺗﺤُﺬﻑ ﺑﻌﺪ.
١.٢.٣ﺍﺑﺤﺚ ﻋﻦ ﺃﻱ ﺃﺳﻤﺎء ﻭﻋﻨﺎﻭﻳﻦ ﺑﺮﻳﺪ ﺇﻟﻜﺘﺮﻭﻧﻲ ﻭﺟﺪﺗﻬﺎ ﻓﻲ ﻣﺤﺘﻮﻯ ﺍﻟﺘﻄﺒﻴﻖ ،ﻣﺜﻞ ﻣﻌﻠﻮﻣﺎﺕ
ﺍﻻﺗﺼﺎﻝ.ﺃﺿﻒ ﻋﻨﺎﺻﺮ ﻏﻴﺮ ﻇﺎﻫﺮﺓ ﻋﻠﻰ ﺍﻟﺸﺎﺷﺔ ،ﻣﺜﻞ ﺗﻌﻠﻴﻘﺎﺕ .HTMLﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ
ﻋﻤﻠﻴﺎﺕﺍﻟﺒﺤﺚ ﻋﻠﻰ ﺍﻟﻮﻳﺐ ،ﺍﺑﺤﺚ ﻓﻲ ﺍﻷﺧﺒﺎﺭ ﻭﺍﻟﻤﺠﻤﻮﻋﺎﺕ .ﺍﺑﺤﺚ ﻋﻦ ﺃﻱ ﺗﻔﺎﺻﻴﻞ
ﺗﻘﻨﻴﺔﻣﻨﺸﻮﺭﺓ ﻓﻲ ﻣﻨﺘﺪﻳﺎﺕ ﺍﻹﻧﺘﺮﻧﺖ ﺗﺘﻌﻠﻖ ﺑﺎﻟﺘﻄﺒﻴﻖ ﺍﻟﻤﺴﺘﻬﺪﻑ ﻭﺑﻨﻴﺘﻪ ﺍﻟﺘﺤﺘﻴﺔ
ﺍﻟﺪﺍﻋﻤﺔ.
1.2.4ﻗﻢ ﺑﻤﺮﺍﺟﻌﺔ ﺃﻱ ﻣﻠﻔﺎﺕ WSDLﻣﻨﺸﻮﺭﺓ ﻹﻧﺸﺎء ﻗﺎﺉﻤﺔ ﺑﺄﺳﻤﺎء ﺍﻟﻮﻇﺎﺉﻒ ﻭﻗﻴﻢ ﺍﻟﻤﻌﻠﻤﺎﺕ
ﺍﻟﺘﻲﻳﺤﺘﻤﻞ ﺃﻥ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ.
١.٣.٢ﺍﺣﺼﻞ ﻋﻠﻰ ﻗﻮﺍﺉﻢ ﺑﺄﺳﻤﺎء ﺍﻟﻤﻠﻔﺎﺕ ﻭﺍﻟﻤﺠﻠﺪﺍﺕ ﺍﻟﺸﺎﺉﻌﺔ ﻭﺍﻣﺘﺪﺍﺩﺍﺕ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺸﺎﺉﻌﺔ.
ﺃﺿﻒﺇﻟﻰ ﻫﺬﻩ ﺍﻟﻘﻮﺍﺉﻢ ﺟﻤﻴﻊ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺘﻲ ﺗﻤﺖ ﻣﻼﺣﻈﺘﻬﺎ ﻓﻌﻠﻴﺎً ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ،
ﺑﺎﻹﺿﺎﻓﺔﺇﻟﻰ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﻤﺴﺘﻨﺘﺠﺔ ﻣﻨﻬﺎ .ﺣﺎﻭﻝ ﻓﻬﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺘﺴﻤﻴﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ
ﻣﻄﻮﺭﻭﺍﻟﺘﻄﺒﻴﻘﺎﺕ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺇﺫﺍ
ﻫﻨﺎﻙﺻﻔﺤﺎﺕ ﺗﺴﻤﻰﺇﺿﺎﻓﺔ ﻣﺴﺘﻨﺪjsp.ﻭﻋﺮﺽ ﺍﻟﻤﺴﺘﻨﺪ،jsp.ﻗﺪ ﺗﻜﻮﻥ ﻫﻨﺎﻙ ﺃﻳﻀﺎً ﺻﻔﺤﺎﺕ
ﺗﺴﻤﻰEditDocument.jspﻭﺇﺯﺍﻟﺔ .Document.jsp
797 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
1.3.3ﻣﺮﺍﺟﻌﺔ ﺟﻤﻴﻊ ﺃﻛﻮﺍﺩ ﺟﺎﻧﺐ ﺍﻟﻌﻤﻴﻞ ﻟﺘﺤﺪﻳﺪ ﺃﻱ ﺃﺩﻟﺔ ﺣﻮﻝ ﺍﻟﻤﺤﺘﻮﻯ ﺍﻟﻤﺨﻔﻲ ﻋﻠﻰ ﺟﺎﻧﺐ
ﺍﻟﺨﺎﺩﻡ،ﺑﻤﺎ ﻓﻲ ﺫﻟﻚ ﺗﻌﻠﻴﻘﺎﺕ HTMLﻭﻋﻨﺎﺻﺮ ﺍﻟﻨﻤﺎﺫﺝ ﺍﻟﻤﻌﻄﻠﺔ.
١.٣.٤ﺑﺎﺳﺘﺨﺪﺍﻡ ﺗﻘﻨﻴﺎﺕ ﺍﻷﺗﻤﺘﺔ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ ،١٤ﻗﺪﻡّ ﻋﺪﺩﺍً ﻛﺒﻴﺮﺍً ﻣﻦ ﺍﻟﻄﻠﺒﺎﺕ ﺍﺳﺘﻨﺎﺩﺍً
ﺇﻟﻰﻗﻮﺍﺉﻢ ﺍﻟﺪﻟﻴﻞ ﻭﺍﺳﻢ ﺍﻟﻤﻠﻒ ﻭﺍﻣﺘﺪﺍﺩ ﺍﻟﻤﻠﻒ .ﺭﺍﻗﺐ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺨﺎﺩﻡ ﻟﻠﺘﺄﻛﺪ ﻣﻦ
ﺍﻟﻌﻨﺎﺻﺮﺍﻟﻤﻮﺟﻮﺩﺓ ﻭﺍﻟﻘﺎﺑﻠﺔ ﻟﻠﻮﺻﻮﻝ.
1.3.5ﻗﻢ ﺑﺈﺟﺮﺍء ﺗﻤﺎﺭﻳﻦ ﺍﻛﺘﺸﺎﻑ ﺍﻟﻤﺤﺘﻮﻯ ﻫﺬﻩ ﺑﺸﻜﻞ ﻣﺘﻜﺮﺭ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﻤﺤﺘﻮﻯ ﻭﺍﻷﻧﻤﺎﻁ
ﺍﻟﺠﺪﻳﺪﺓﺍﻟﻤﺪﺭﺟﺔ ﻛﺄﺳﺎﺱ ﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﺒﺤﺚ ﺍﻟﻤﻮﺟﻪ ﻟﻠﻤﺴﺘﺨﺪﻡ ﻭﻣﺰﻳﺪ ﻣﻦ ﺍﻻﻛﺘﺸﺎﻑ
ﺍﻵﻟﻲ.
1.4.2ﺍﻟﺘﺤﻘﻖ ﻳﺪﻭﻳﺎً ﻣﻦ ﺃﻱ ﻧﺘﺎﺉﺞ ﻣﺜﻴﺮﺓ ﻟﻼﻫﺘﻤﺎﻡ ﻣﺤﺘﻤﻠﺔ ﻹﺯﺍﻟﺔ ﺃﻱ ﻧﺘﺎﺉﺞ ﺇﻳﺠﺎﺑﻴﺔ ﺧﺎﻃﺉﺔ
ﺿﻤﻦﺍﻟﻨﺘﺎﺉﺞ.
1.4.3ﺍﻃﻠﺐ ﺩﻟﻴﻞ ﺟﺬﺭ ﺍﻟﺨﺎﺩﻡ ،ﻣﻊ ﺗﺤﺪﻳﺪ ﻋﻨﻮﺍﻥ IPﻓﻲ
ﻳﺴﺘﻀﻴﻒﺍﻟﺮﺃﺱ ،ﻭﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺠﻴﺐ ﺑﻤﺤﺘﻮﻯ ﻣﺨﺘﻠﻒ .ﺇﺫﺍ ﻛﺎﻥ ﺍﻷﻣﺮ
ﻛﺬﻟﻚ،ﻓﻘﻢ ﺑﺈﺟﺮﺍء ﻓﺤﺺ Niktoﻋﻠﻰ ﻋﻨﻮﺍﻥ IPﻭﺍﺳﻢ ﺍﻟﺨﺎﺩﻡ.
1.4.4ﻗﻢ ﺑﺈﺭﺳﺎﻝ ﻃﻠﺐ ﺇﻟﻰ ﺩﻟﻴﻞ ﺟﺬﺭ ﺍﻟﺨﺎﺩﻡ ،ﻣﻊ ﺗﺤﺪﻳﺪ ﻧﻄﺎﻕ ﻣﻦ
ﻭﻛﻴﻞﺍﻟﻤﺴﺘﺨﺪﻡﺍﻟﻌﻨﺎﻭﻳﻦ ،ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓﻲ/pages/useragentstring.php.
www.useragentstring.com
١.٥.٢ﻃﺒﻖّ ﺗﻘﻨﻴﺎﺕ ﺍﻛﺘﺸﺎﻑ ﺍﻟﻤﺤﺘﻮﻯ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺍﻟﺨﻄﻮﺓ ١.٣ﻋﻠﻰ ﺁﻟﻴﺔ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺪﻭﺍﻝ
ﺍﻟﻔﺮﺩﻳﺔ.ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ﻣﻌُﺎﻣﻼً ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺍﺳﻢ ﺩﺍﻟﺔ،
ﻓﺤﺪﺩﺃﻭﻻً ﺳﻠﻮﻛﻪ ﻋﻨﺪ ﺗﺤﺪﻳﺪ ﺩﺍﻟﺔ ﻏﻴﺮ ﺻﺎﻟﺤﺔ ،ﻭﺣﺎﻭﻝ ﺇﻳﺠﺎﺩ ﻃﺮﻳﻘﺔ ﺳﻬﻠﺔ ﻟﺘﺤﺪﻳﺪ ﻭﻗﺖ
ﻃﻠﺐﺩﺍﻟﺔ ﺻﺎﻟﺤﺔ .ﺃﻧﺸﺊ ﻗﺎﺉﻤﺔ ﺑﺄﺳﻤﺎء ﺍﻟﺪﻭﺍﻝ ﺍﻟﺸﺎﺉﻌﺔ ﺃﻭ ﺗﻔَﻘَﺪَّ ﻧﻄﺎﻕ ﺍﻟﻤﻌﺮﻓﺎﺕ
ﺍﻟﻨﺤﻮﻳﺔﺍﻟﻤﺴُﺘﺨﺪﻣﺔ .ﺃﺗﻤﺖ ﺍﻟﻌﻤﻠﻴﺔ ﻟﺘﻌﺪﺍﺩ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﺼﺎﻟﺤﺔ ﺑﺄﺳﺮﻉ ﻭﺃﺳﻬﻞ ﻃﺮﻳﻘﺔ
ﻣﻤﻜﻨﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 798
1.5.3ﺇﻥ ﺃﻣﻜﻦ ،ﻗﻢ ﺑﺘﺠﻤﻴﻊ ﺧﺮﻳﻄﺔ ﻟﻤﺤﺘﻮﻯ ﺍﻟﺘﻄﺒﻴﻖ ﺑﻨﺎء ًﻋﻠﻰ ﺍﻟﻤﺴﺎﺭﺍﺕ ﺍﻟﻮﻇﻴﻔﻴﺔ ،ﺑﺪﻻ ًﻣﻦ
ﻋﻨﺎﻭﻳﻦ ،URLﻣﻊ ﺇﻇﻬﺎﺭ ﺟﻤﻴﻊ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﻤﻌُﺪَﺓَّ ﻭﺍﻟﻤﺴﺎﺭﺍﺕ ﺍﻟﻤﻨﻄﻘﻴﺔ ﻭﺍﻟﺘﺒﻌﻴﺎﺕ ﺑﻴﻨﻬﺎ.
)ﺍﻧﻈﺮ ﺍﻟﻔﺼﻞ 4ﻟﻼﻃﻼﻉ ﻋﻠﻰ ﻣﺜﺎﻝ(.
1.6.2ﺍﺳﺘﺨﺪﻡ ﻗﻮﺍﺉﻢ ﺃﺳﻤﺎء ﻣﻌﻠﻤﺎﺕ ﺍﻟﺘﺼﺤﻴﺢ ﺍﻟﺸﺎﺉﻌﺔ )ﻣﺜﻞﺗﺼﺤﻴﺢ ﺍﻷﺧﻄﺎء ،ﺍﺧﺘﺒﺎﺭ ،ﺇﺧﻔﺎء،ﻭ
ﻣﺼﺪﺭ(ﻭﺍﻟﻘﻴﻢ ﺍﻟﻤﺸﺘﺮﻛﺔ )ﻣﺜﻞﺻﺤﻴﺢ ،ﻧﻌﻢ ،ﻋﻠﻰ،ﻭ .(1ﻛﺮﺭ ﺟﻤﻴﻊ ﻫﺬﻩ ﺍﻟﺘﺒﺎﺩﻳﻞ ،ﻣﻊ ﺇﺭﺳﺎﻝ
ﻛﻞﺯﻭﺝ ﻣﻦ ﺍﻻﺳﻢ/ﺍﻟﻘﻴﻤﺔ ﺇﻟﻰ ﻛﻞ ﺩﺍﻟﺔ ﻣﺴﺘﻬﺪﻓﺔ.ﺑﺮﻳﺪﺍﻟﻄﻠﺒﺎﺕ ،ﺃﺩﺧﻞ ﺍﻟﻤﻌﻠﻤﺔ ﻓﻲ ﻛﻞ ٍّ
ﻣﻦﺳﻠﺴﻠﺔ ﺍﺳﺘﻌﻼﻡ ﻋﻨﻮﺍﻥ URLﻭﻧﺺ ﺍﻟﻄﻠﺐ .ﺍﺳﺘﺨﺪﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ
14ﻷﺗﻤﺘﺔ ﻫﺬﺍ ﺍﻟﺘﻤﺮﻳﻦ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻧﻮﻉ ﻫﺠﻮﻡ ﺍﻟﻘﻨﺒﻠﺔ
ﺍﻟﻌﻨﻘﻮﺩﻳﺔﻓﻲ Burp Intruderﻟﺪﻣﺞ ﺟﻤﻴﻊ ﺗﺒﺎﺩﻳﻞ ﻗﺎﺉﻤﺘﻲ ﺣﻤﻮﻟﺔ.
1.6.3ﻗﻢ ﺑﻤﺮﺍﺟﻌﺔ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺤﺜﺎً ﻋﻦ ﺃﻱ ﺗﺸﻮﻫﺎﺕ ﻗﺪ ﺗﺸﻴﺮ ﺇﻟﻰ ﺃﻥ ﺍﻟﻤﻌﻠﻤﺔ ﺍﻟﻤﻀﺎﻓﺔ
ﻛﺎﻥﻟﻬﺎ ﺗﺄﺛﻴﺮ ﻋﻠﻰ ﻣﻌﺎﻟﺠﺔ ﺍﻟﺘﻄﺒﻴﻖ.
ﺗﺤﻠﻴﻞﺍﻟﺘﻄﺒﻴﻖ 2
ﺍﻟﺸﻜﻞ:3-21ﺗﺤﻠﻴﻞ ﺍﻟﺘﻄﺒﻴﻖ
2.1ﺗﺤﺪﻳﺪ ﺍﻟﻮﻇﻴﻔﺔ
2.1.1ﺗﺤﺪﻳﺪ ﺍﻟﻮﻇﻴﻔﺔ ﺍﻷﺳﺎﺳﻴﺔ ﺍﻟﺘﻲ ﺗﻢ ﺇﻧﺸﺎء ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺃﺟﻠﻬﺎ ﻭﺍﻹﺟﺮﺍءﺍﺕ ﺍﻟﺘﻲ ﺗﻢ ﺗﺼﻤﻴﻢ
ﻛﻞﻭﻇﻴﻔﺔ ﻷﺩﺍﺉﻬﺎ ﻋﻨﺪ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻋﻠﻰ ﺍﻟﻨﺤﻮ ﺍﻟﻤﻘﺼﻮﺩ.
٢.١.٢ﺗﺤﺪﻳﺪ ﺁﻟﻴﺎﺕ ﺍﻷﻣﺎﻥ ﺍﻷﺳﺎﺳﻴﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻭﻛﻴﻔﻴﺔ ﻋﻤﻠﻬﺎ .ﻭﺑﺸﻜﻞ ﺧﺎﺹ،
ﻓﻬﻢﺍﻵﻟﻴﺎﺕ ﺍﻟﺮﺉﻴﺴﻴﺔ ﺍﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻊ
799 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
2.1.4ﺗﺤﺪﻳﺪ ﺃﻱ ﻭﻇﻴﻔﺔ ﺗﻨﺤﺮﻑ ﻋﻦ ﻣﻈﻬﺮ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺮﺳﻮﻣﻴﺔ ﺍﻟﻘﻴﺎﺳﻴﺔ ،ﺃﻭ ﺗﺴﻤﻴﺔ
ﺍﻟﻤﻌﻠﻤﺎﺕ،ﺃﻭ ﺁﻟﻴﺔ ﺍﻟﺘﻨﻘﻞ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺃﻱ ﻣﻜﺎﻥ ﺁﺧﺮ ﻓﻲ ﺍﻟﺘﻄﺒﻴﻖ ،ﺛﻢ ﺗﺤﺪﻳﺪﻫﺎ
ﻟﻼﺧﺘﺒﺎﺭﺍﻟﻤﺘﻌﻤﻖ.
٢.٢.٢ﺍﻓﺤﺺ ﺃﻱ ﺁﻟﻴﺎﺕ ﻣﺨﺼﺼﺔ ﻟﻨﻘﻞ ﺃﻭ ﺗﺮﻣﻴﺰ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ،ﻣﺜﻞ ﺗﻨﺴﻴﻖ
ﺳﻠﺴﻠﺔﺍﻻﺳﺘﻌﻼﻡ ﻏﻴﺮ ﺍﻟﻘﻴﺎﺳﻲ .ﺗﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺮﺳﻠﺔ ﺗﺘﻀﻤﻦ ﺃﺳﻤﺎء
ﻭﻗﻴﻢﺍﻟﻤﻌﻠﻤﺎﺕ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﻭﺳﻴﻠﺔ ﺗﻤﺜﻴﻞ ﺑﺪﻳﻠﺔ.
2.2.3ﺗﺤﺪﻳﺪ ﺃﻱ ﻗﻨﻮﺍﺕ ﺧﺎﺭﺝ ﺍﻟﻨﻄﺎﻕ ﻳﺘﻢ ﻣﻦ ﺧﻼﻟﻬﺎ ﺇﺩﺧﺎﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪﻡ
ﺍﻟﺘﺤﻜﻢﻓﻴﻬﺎ ﺃﻭ ﺑﻴﺎﻧﺎﺕ ﺍﻟﻄﺮﻑ ﺍﻟﺜﺎﻟﺚ ﺍﻷﺧﺮﻯ ﺇﻟﻰ ﻣﻌﺎﻟﺠﺔ ﺍﻟﺘﻄﺒﻴﻖ.
ﻭﻣﻦﺍﻷﻣﺜﻠﺔ ﻋﻠﻰ ﺫﻟﻚ ﺗﻄﺒﻴﻖ ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ ﻋﻠﻰ ﺍﻟﻮﻳﺐ ﺍﻟﺬﻱ ﻳﻘﻮﻡ ﺑﻤﻌﺎﻟﺠﺔ ﺍﻟﺮﺳﺎﺉﻞ
ﺍﻟﻤﺴﺘﻠﻤﺔﻋﺒﺮ SMTPﻭﻋﺮﺿﻬﺎ.
ﻗﺪﺗﻘُﺪﻡّ ﻣﻌﻠﻮﻣﺎﺕ ﺣﻮﻝ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﻤﺴُﺘﺨﺪﻣﺔ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ .ﺭﺍﺟﻊ ﺃﺳﻤﺎء ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ
ﻭﻣﻠﻔﺎﺕﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻷﺧﺮﻯ ﺍﻟﺼﺎﺩﺭﺓ .ﺍﺳﺘﺨﺪﻡ ﺟﻮﺟﻞ ﻟﻠﺒﺤﺚ ﻋﻦ ﺍﻟﺘﻘﻨﻴﺎﺕ
ﺍﻟﻤﺮُﺗﺒﻄﺔﺑﻬﺬﻩ ﺍﻟﻌﻨﺎﺻﺮ.
2.3.6ﺣﺪﺩ ﺃﻱ ﺃﺳﻤﺎء ﻧﺼﻮﺹ ﺑﺮﻣﺠﻴﺔ ﺟﺬﺍﺑﺔ ﻭﻣﻌﻠﻤﺎﺕ ﺳﻠﺴﻠﺔ ﺍﻻﺳﺘﻌﻼﻡ ﺍﻟﺘﻲ ﻗﺪ ﺗﻨﺘﻤﻲ ﺇﻟﻰ
ﻣﻜﻮﻧﺎﺕﺑﺮﻣﺠﻴﺔ ﺧﺎﺭﺟﻴﺔ .ﺍﺑﺤﺚ ﻋﻨﻬﺎ ﻋﻠﻰ ﺟﻮﺟﻞ ﺑﺎﺳﺘﺨﺪﺍﻡﻋﻨﻮﺍﻥ :URLﻣﺆُﻫﻞ ﻟﻠﻌﺜﻮﺭ ﻋﻠﻰ
ﺃﻱﺗﻄﺒﻴﻘﺎﺕ ﺃﺧﺮﻯ ﺗﺴﺘﺨﺪﻡ ﻧﻔﺲ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻨﺼﻴﺔ ﻭﺍﻟﻤﻌﻠﻤﺎﺕ ،ﻭﺍﻟﺘﻲ ﻗﺪ ﺗﺴﺘﺨﺪﻡ
ﺑﺎﻟﺘﺎﻟﻲﻧﻔﺲ ﻣﻜﻮﻧﺎﺕ ﺍﻟﺠﻬﺎﺕ ﺍﻟﺨﺎﺭﺟﻴﺔ .ﻗﻢ ﺑﺈﺟﺮﺍء ﻣﺮﺍﺟﻌﺔ ﺩﻗﻴﻘﺔ ﻟﻬﺬﻩ ﺍﻟﻤﻮﺍﻗﻊ ،ﻓﻘﺪ
ﻳﻜﺸﻒﺫﻟﻚ ﻋﻦ ﻣﺤﺘﻮﻯ ﻭﻭﻇﺎﺉﻒ ﺇﺿﺎﻓﻴﺔ ﻏﻴﺮ ﻣﺮﺗﺒﻄﺔ ﺻﺮﺍﺣﺔ ًﺑﺎﻟﺘﻄﺒﻴﻖ ﺍﻟﺬﻱ ﺗﻬﺎﺟﻤﻪ.
٢.٤.٢ﻟﻜﻞ ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ ﺍﻟﻮﻇﻴﻔﺔ ،ﺣﺪﺩ ﺃﻧﻮﺍﻉ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﺍﻟﺸﺎﺉﻌﺔ ﺍﻟﻤﺮﺗﺒﻄﺔ ﺑﻬﺎ .ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ ،ﻗﺪ ﺗﻜﻮﻥ ﻭﻇﺎﺉﻒ ﺗﺤﻤﻴﻞ ﺍﻟﻤﻠﻔﺎﺕ ﻋﺮﺿﺔ ﻻﺧﺘﺮﺍﻕ ﺍﻟﻤﺴﺎﺭﺍﺕ ،ﻭﻗﺪ ﺗﻜﻮﻥ
ﺍﻟﺮﺳﺎﺉﻞﺑﻴﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻋﺮﺿﺔ ﻟﻬﺠﻤﺎﺕ ،XSSﻭﻗﺪ ﺗﻜﻮﻥ ﻭﻇﺎﺉﻒ "ﺍﺗﺼﻞ ﺑﻨﺎ"
ﻋﺮﺿﺔﻟﻬﺠﻤﺎﺕ ﺣﻘﻦ .SMTP
ﺭﺍﺟﻊﺍﻟﻔﺼﻞ ﺍﻟﺮﺍﺑﻊ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﺍﻟﻤﺮﺗﺒﻄﺔ ﻋﺎﺩﺓ ﺑﻮﻇﺎﺉﻒ
ﻭﺗﻘﻨﻴﺎﺕﻣﻌﻴﻨﺔ.
٢.٤.٣ﺿﻊ ﺧﻄﺔ ﻫﺠﻮﻣﻴﺔ ،ﻣﻊ ﺇﻋﻄﺎء ﺍﻷﻭﻟﻮﻳﺔ ﻟﻠﻮﻇﺎﺉﻒ ﺍﻷﻛﺜﺮ ﺇﺛﺎﺭﺓ ﻟﻼﻫﺘﻤﺎﻡ ﻭﺃﺧﻄﺮ ﻧﻘﺎﻁ
ﺍﻟﻀﻌﻒﺍﻟﻤﺤﺘﻤﻠﺔ ﺍﻟﻤﺮﺗﺒﻄﺔ ﺑﻬﺎ .ﺍﺳﺘﺨﺪﻡ ﺧﻄﺘﻚ ﻟﺘﻮﺟﻴﻪ ﻣﻘﺪﺍﺭ ﺍﻟﻮﻗﺖ ﻭﺍﻟﺠﻬﺪ ﺍﻟﺬﻱ
ﺗﺨﺼﺼﻪﻟﻜﻞ ﺟﺎﻧﺐ ﻣﻦ ﺍﻟﺠﻮﺍﻧﺐ ﺍﻟﻤﺘﺒﻘﻴﺔ ﻣﻦ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ.
3.1.2ﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﺍﻟﻐﺮﺽ ﺍﻟﺬﻱ ﻳﻠﻌﺒﻪ ﺍﻟﻌﻨﺼﺮ ﻓﻲ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ،ﺍﺳﺘﻨﺎﺩﺍً ﺇﻟﻰ ﺍﻟﺴﻴﺎﻕ ﺍﻟﺬﻱ
ﻳﻈﻬﺮﻓﻴﻪ ﻭﻋﻠﻰ ﺍﺳﻤﻪ ﻭﻗﻴﻤﺘﻪ.
3.1.3ﻋﺪﻝّ ﻗﻴﻤﺔ ﺍﻟﻌﻨﺼﺮ ﺑﻤﺎ ﻳﺘﻨﺎﺳﺐ ﻣﻊ ﺩﻭﺭﻩ ﻓﻲ ﻭﻇﺎﺉﻒ ﺍﻟﺘﻄﺒﻴﻖ .ﺣﺪﺩّ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ
ﻳﻌﺎﻟﺞﻗﻴﻤﺎً ﻋﺸﻮﺍﺉﻴﺔ ﻣﺮُﺳﻠﺔ ﻓﻲ ﺍﻟﺤﻘﻞ ،ﻭﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺍﺳﺘﻐﻼﻝ ﻫﺬﻩ ﺍﻟﺤﻘﻴﻘﺔ
ﻟﻠﺘﺪﺧﻞﻓﻲ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻭ ﺗﻘﻮﻳﺾ ﺃﻱ ﺿﻮﺍﺑﻂ ﺃﻣﻨﻴﺔ.
٣.١.٤ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻨﻘﻞ ﺑﻴﺎﻧﺎﺕ ﻏﻴﺮ ﺷﻔﺎﻓﺔ ﻋﺒﺮ ﺍﻟﻌﻤﻴﻞ ،ﻓﻴﻤﻜﻨﻚ ﻣﻬﺎﺟﻤﺔ ﺫﻟﻚ ﺑﻄﺮﻕ
ﻣﺨﺘﻠﻔﺔ.ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻌﻨﺼﺮ ﻣﻌُﺘﻤﺎً ،ﻓﻘﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﻓﻚ ﺗﺸﻔﻴﺮ ﺧﻮﺍﺭﺯﻣﻴﺔ ﺍﻟﺘﻌﺘﻴﻢ ،ﻭﺑﺎﻟﺘﺎﻟﻲ
ﺇﺭﺳﺎﻝﺑﻴﺎﻧﺎﺕ ﻋﺸﻮﺍﺉﻴﺔ ﺩﺍﺧﻞ ﺍﻟﻌﻨﺼﺮ ﺍﻟﻤﻌُﺘﻢ .ﺣﺘﻰ ﻟﻮ ﻛﺎﻥ ﻣﺸُﻔﺮّﺍً ﺑﺸﻜﻞ ﺁﻣﻦ ،ﻓﻘﺪ
ﺗﺘﻤﻜﻦﻣﻦ ﺇﻋﺎﺩﺓ ﺗﺸﻐﻴﻞ ﺍﻟﻌﻨﺼﺮ ﻓﻲ ﺳﻴﺎﻗﺎﺕ ﺃﺧﺮﻯ ﻟﻠﺘﺪﺧﻞ ﻓﻲ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ .ﺭﺍﺟﻊ
ﺍﻟﻔﺼﻞﺍﻟﺨﺎﻣﺲ ﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺎﺻﻴﻞ ﺣﻮﻝ ﻫﺬﻩ ﺍﻟﻬﺠﻤﺎﺕ ﻭﻏﻴﺮﻫﺎ.
3.1.5ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ASP.NETﺣﺎﻟﺔ ﺍﻟﻌﺮﺽ،ﺍﺧﺘﺒﺎﺭ ﻟﻠﺘﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ
ﺍﻟﺘﻼﻋﺐﺑﻪ ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻱ ﻣﻌﻠﻮﻣﺎﺕ ﺣﺴﺎﺳﺔ .ﻻﺣﻆ ﺃﻥﺣﺎﻟﺔ ﺍﻟﻌﺮﺽﻗﺪ ﻳﺘﻢ
ﺍﺳﺘﺨﺪﺍﻣﻬﺎﺑﺸﻜﻞ ﻣﺨﺘﻠﻒ ﻓﻲ ﺻﻔﺤﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﻤﺨﺘﻠﻔﺔ.
ﺇﻟﻰﺍﻟﺨﺎﺩﻡ .ﻳﻤﻜﻦ ﺗﺠﺎﻭﺯ ﻫﺬﻩ ﺍﻟﻀﻮﺍﺑﻂ ﺑﺴﻬﻮﻟﺔ ،ﺇﺫ ﻳﻤﻜﻨﻚ ﺇﺭﺳﺎﻝ ﻃﻠﺒﺎﺕ ﻋﺸﻮﺍﺉﻴﺔ ﺇﻟﻰ
ﺍﻟﺨﺎﺩﻡ.ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
<”onsubmit=”return Validate)this(”< >input maxlength=”3” name=”quantity
”>form action=”order.asp
...
3.2.2ﺍﺧﺘﺒﺮ ﻛﻞ ﺣﻘﻞ ﺇﺩﺧﺎﻝ ﻣﺘﺄﺛﺮ ﺑﺪﻭﺭﻩ ﻋﻦ ﻃﺮﻳﻖ ﺇﺭﺳﺎﻝ ﺍﻹﺩﺧﺎﻝ ﺍﻟﺬﻱ ﻳﺘﻢ ﺣﻈﺮﻩ ﻋﺎﺩﺓ ًﺑﻮﺍﺳﻄﺔ
ﻋﻨﺎﺻﺮﺍﻟﺘﺤﻜﻢ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻋﻠﻰ ﺟﺎﻧﺐ ﺍﻟﻌﻤﻴﻞ ﻟﻠﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺗﻜﺮﺍﺭﻩ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ.
3.2.3ﺇﻥ ﺇﻣﻜﺎﻧﻴﺔ ﺗﺠﺎﻭﺯ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺟﺎﻧﺐ ﺍﻟﻌﻤﻴﻞ ﻻ ﺗﻤُﺜﻞ ﺑﺎﻟﻀﺮﻭﺭﺓ ﺃﻱ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ .ﻣﻊ ﺫﻟﻚ،
ﻳﺠﺐﻋﻠﻴﻚ ﻣﺮﺍﺟﻌﺔ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﺍﻟﻤﻨُﻔﺬﺓ ﺑﺪﻗﺔ .ﺗﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻌﺘﻤﺪ
ﻋﻠﻰﻋﻨﺎﺻﺮ ﺍﻟﺘﺤﻜﻢ ﻣﻦ ﺟﺎﻧﺐ ﺍﻟﻌﻤﻴﻞ ﻟﺤﻤﺎﻳﺔ ﻧﻔﺴﻪ ﻣﻦ ﺍﻹﺩﺧﺎﻻﺕ ﺍﻟﻤﺸﻮﻫﺔ .ﺗﺄﻛﺪ ﺃﻳﻀﺎً
ﻣﻤﺎﺇﺫﺍ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺃﻱ ﻇﺮﻭﻑ ﻗﺎﺑﻠﺔ ﻟﻼﺳﺘﻐﻼﻝ ﻳﻤﻜﻦ ﺃﻥ ﺗﻔُﻌﻠّﻬﺎ ﻫﺬﻩ ﺍﻹﺩﺧﺎﻻﺕ.
٣.٢.٤ﺭﺍﺟﻊ ﻛﻞ ﻧﻤﻮﺫﺝ HTMLﻟﺘﺤﺪﻳﺪ ﺃﻱ ﻋﻨﺎﺻﺮ ﻣﻌﻄﻠﺔ ،ﻣﺜﻞ ﺃﺯﺭﺍﺭ ﺍﻹﺭﺳﺎﻝ ﺍﻟﻤﻌﺘﻤﺔ .ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ:
<”>input disabled=”true” name=”product
ﺇﺫﺍﻭﺟﺪﺕ َﺃﻳﺎً ﻣﻨﻬﺎ ،ﻓﺄﺭﺳﻠﻬﺎ ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ ،ﻣﻊ ﻣﻌﻠﻤﺎﺕ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻷﺧﺮﻯ .ﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ
ﻛﺎﻥﻟﻠﻤﻌﻠﻤﺔ ﺃﻱ ﺗﺄﺛﻴﺮ ﻋﻠﻰ ﻣﻌﺎﻟﺠﺔ ﺍﻟﺨﺎﺩﻡ ،ﻣﻤﺎ ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻓﻲ ﺍﻟﻬﺠﻮﻡ .ﻛﺒﺪﻳﻞ،
ﺍﺳﺘﺨﺪﻡﻗﺎﻋﺪﺓ ﻭﻛﻴﻞ ﺁﻟﻴﺔ ﻟﺘﻔﻌﻴﻞ ﺍﻟﺤﻘﻮﻝ ﺍﻟﻤﻌﻄﻠﺔ ﺗﻠﻘﺎﺉﻴﺎً ،ﻣﺜﻞ ﻗﻮﺍﻋﺪ "ﺗﻌﺪﻳﻞ "HTML
ﻓﻲ.Burp Proxy
3.3.2.2ﺭﺍﺟﻊ ﺟﻤﻴﻊ ﺍﺳﺘﺪﻋﺎءﺍﺕ ﺩﻭﺍﻝ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ ﻣﻦ ﺩﺍﺧﻞ HTMLﺍﻟﻤﺴُﺘﺪﻋﻰ ،ﻭﺗﺄﻛﺪ ﻣﻦ
ﺇﺭﺳﺎﻝﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻌُﺎﺩﺓ ﻣﻦ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ ﺇﻟﻰ ﺍﻟﺨﺎﺩﻡ .ﺇﺫﺍ ﻛﺎﻧﺖ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺒُﻬﻤﺔ )
ﺃﻱﻣﺸُﻮﺷﺔ ﺃﻭ ﻣﺸُﻔﺮﺓ( ،ﻓﺮﺑﻤﺎ ﺗﺤﺘﺎﺝ ﻟﺘﻌﺪﻳﻠﻬﺎ ﺇﻟﻰ ﻓﻚ ﺗﺠﻤﻴﻊ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ ﻟﻠﺤﺼﻮﻝ
ﻋﻠﻰﺷﻴﻔﺮﺗﻪ ﺍﻟﻤﺼﺪﺭﻳﺔ.
3.3.2.3ﻧﺰﻝّ ﻣﻠﻒ ﺑﺎﻳﺖ ﻛﻮﺩ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺈﺩﺧﺎﻝ ﻋﻨﻮﺍﻥ URLﻓﻲ ﻣﺘﺼﻔﺤﻚ ،ﻭﺍﺣﻔﻆ ﺍﻟﻤﻠﻒ ﻣﺤﻠﻴﺎً.
ﺍﺳﻢﻣﻠﻒ ﺑﺎﻳﺖ ﻛﻮﺩ ﻣﺤُﺪﺩ ﻓﻲﺷﻔﺮﺓﺳﻤﺔ ﻋﻼﻣﺔ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ .ﺳﻴﺘﻢ ﻭﺿﻊ ﺍﻟﻤﻠﻒ ﻓﻲ
ﺍﻟﺪﻟﻴﻞﺍﻟﻤﺤﺪﺩ ﻓﻲﻗﺎﻋﺪﺓ ﺍﻟﻜﻮﺩﺇﺫﺍ ﻛﺎﻧﺖ ﻫﺬﻩ ﺍﻟﺴﻤﺔ ﻣﻮﺟﻮﺩﺓ ،ﻭﺇﻻ ﻓﺴﺘﻜﻮﻥ ﻣﻮﺟﻮﺩﺓ ﻓﻲ
ﻧﻔﺲﺍﻟﺪﻟﻴﻞ ﺍﻟﺬﻱ ﺗﻮﺟﺪ ﻓﻴﻪ ﺍﻟﺼﻔﺤﺔ ﺍﻟﺘﻲ ﺗﻈﻬﺮ ﻓﻴﻬﺎ ﻋﻼﻣﺔ ﺍﻟﺘﻄﺒﻴﻖ.
٣.٣.٢.٤ﺍﺳﺘﺨﺪﻡ ﺃﺩﺍﺓ ﻣﻨﺎﺳﺒﺔ ﻟﻔﻚ ﺷﻔﺮﺓ ﺍﻟﺒﺎﻳﺖ ﺇﻟﻰ ﺷﻴﻔﺮﺓ ﻣﺼﺪﺭﻳﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
C:\<jad.exe input.class
ﺗﺤﻠﻴﻞ ...input.classﺇﻧﺸﺎء input.jad
ﻓﻴﻤﺎﻳﻠﻲ ﺑﻌﺾ ﺍﻷﺩﻭﺍﺕ ﺍﻟﻤﻨﺎﺳﺒﺔ ﻟﻔﻚ ﺗﺠﻤﻴﻊ ﻣﻜﻮﻧﺎﺕ ﻣﻠﺤﻘﺎﺕ ﺍﻟﻤﺘﺼﻔﺢ ﺍﻟﻤﺨﺘﻠﻔﺔ:
3.3.2.6ﺗﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻱ ﻃﺮﻕ ﻋﺎﻣﺔ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻹﺟﺮﺍء
ﺍﻟﺘﻌﺘﻴﻢﺍﻟﻤﻨﺎﺳﺐ ﻋﻠﻰ ﺍﻟﻤﺪﺧﻼﺕ ﺍﻟﺘﻌﺴﻔﻴﺔ.
٣.٣.٢.٧ﺇﺫﺍ ﻟﻢ ﻳﻜﻦ ﻛﺬﻟﻚ ،ﻓﻌﺪﻝّ ﻣﺼﺪﺭ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺼﻐﻴﺮ ﻟﺘﺤﻴﻴﺪ ﺃﻱ ﻋﻤﻠﻴﺔ ﺗﺤﻘﻖ ﺗﺠُﺮﻳﻬﺎ ﺃﻭ
ﻟﻠﺴﻤﺎﺡﻟﻚ ﺑﺈﺧﻔﺎء ﺃﻱ ﺇﺩﺧﺎﻝ ﻋﺸﻮﺍﺉﻲ .ﻳﻤﻜﻨﻚ ﺑﻌﺪ ﺫﻟﻚ ﺇﻋﺎﺩﺓ ﺗﺠﻤﻴﻊ ﺍﻟﻤﺼﺪﺭ ﺇﻟﻰ
ﺻﻴﻐﺔﺍﻟﻤﻠﻒ ﺍﻷﺻﻠﻴﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﺩﻭﺍﺕ ﺍﻟﺘﺠﻤﻴﻊ ﺍﻟﺘﻲ ﻳﻮﻓﺮﻫﺎ ﺍﻟﺒﺎﺉﻊ.
ﻣﻮﺍﺟﻬﺔﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻷﺧﻄﺎء .ﻓﻲ ﻫﺬﻩ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ،ﻋﺎﺩﺓ ًﻣﺎ ﻳﻜﻮﻥ ﺭﺑﻂ ﻣﺼﺤﺢ ﺃﺧﻄﺎء
ﻭﻗﺖﺍﻟﺘﺸﻐﻴﻞ ﺑﺎﻟﻌﻤﻠﻴﺔ ﺃﺳﺮﻉ .ﻳﻘﻮﻡ JavaSnoopﺑﺬﻟﻚ ﺑﻜﻔﺎءﺓ ﻋﺎﻟﻴﺔ ﻣﻊ Spy
Java. Silverlightﺃﺩﺍﺓ ﻣﺠﺎﻧﻴﺔ ﺗﺘﻴﺢ ﻣﺮﺍﻗﺒﺔ ﻋﻤﻼء Silverlightﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ.
3.3.3.2ﺣﺪﺩ ﺍﻟﻮﻇﺎﺉﻒ ﻭﺍﻟﻘﻴﻢ ﺍﻟﺮﺉﻴﺴﻴﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻹﺩﺍﺭﺓ ﻣﻨﻄﻖ ﺍﻷﻋﻤﺎﻝ
ﺍﻟﻤﺘﻌﻠﻖﺑﺎﻷﻣﺎﻥ ،ﻭﺿﻊ ﻧﻘﺎﻁ ﺗﻮﻗﻒ ﻋﻨﺪ ﺍﺳﺘﺪﻋﺎء ﺍﻟﻮﻇﻴﻔﺔ ﺍﻟﻤﺴﺘﻬﺪﻓﺔ .ﻋﺪﻝّ ﺍﻟﻮﺳﺎﺉﻂ
ﺃﻭﻗﻴﻤﺔ ﺍﻹﺭﺟﺎﻉ ﺣﺴﺐ ﺍﻟﺤﺎﺟﺔ ﻟﺘﺠﺎﻭﺯ ﺍﻷﻣﺎﻥ.
>ﺍﻟﻬﺪﻑ
ﻣﻌﺮﻑﺍﻟﻔﺉﺔ = "ﻣﻌﺮﻑّ ﺍﻟﻔﺉﺔ"4F878398-E58A-11D3-BEE9-00C04FA0D6BA :
ﻗﺎﻋﺪﺓﺍﻟﻜﻮﺩ = " "https://wahh app.com/scripts/input.cabﻣﻌﺮﻑ =
"<"TheAxControl
>/ﺍﻟﻬﺪﻑ<
3.3.4.2ﻋﺎﺩﺓ ًﻣﺎ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺇﻓﺴﺎﺩ ﺃﻱ ﻋﻤﻠﻴﺔ ﺗﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﺍﻟﻤﺪﺧﻼﺕ ﺗﺠُﺮﻯ ﺩﺍﺧﻞ
ﻋﻨﺼﺮﺗﺤﻜﻢ ActiveXﻋﻦ ﻃﺮﻳﻖ ﺭﺑﻂ ﻣﺼﺤﺢ ﺃﺧﻄﺎء ﺑﺎﻟﻌﻤﻠﻴﺔ ﻭﺗﻌﺪﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﺗﺘﻢ
ﻣﻌﺎﻟﺠﺘﻬﺎﻣﺒﺎﺷﺮﺓ ًﺃﻭ ﺗﻐﻴﻴﺮ ﻣﺴﺎﺭ ﺗﻨﻔﻴﺬ ﺍﻟﺒﺮﻧﺎﻣﺞ .ﺭﺍﺟﻊ ﺍﻟﻔﺼﻞ 5ﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺎﺻﻴﻞ
ﺣﻮﻝﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ.
٣.٣.٤.٣ﻏﺎﻟﺒﺎً ﻣﺎ ﻳﻤُﻜﻦ ﺗﺨﻤﻴﻦ ﻏﺮﺽ ﺍﻟﻄﺮﻕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﺍﻟﺘﻲ ﻳﺼُﺪﺭّﻫﺎ ﻋﻨﺼﺮ ﺗﺤﻜﻢ ActiveXﺑﻨﺎء ً
ﻋﻠﻰﺃﺳﻤﺎﺉﻬﺎ ﻭﺍﻟﻤﻌﻠﻤﺎﺕ ﺍﻟﻤﻤُﺮﺭّﺓ ﺇﻟﻴﻬﺎ .ﺍﺳﺘﺨﺪﻡ ﺃﺩﺍﺓ COMRaiderﻹﺣﺼﺎء ﺍﻟﻄﺮﻕ
ﺍﻟﺘﻲﻳﺼُﺪﺭّﻫﺎ ﻋﻨﺼﺮ ﺍﻟﺘﺤﻜﻢ .ﺍﺧﺘﺒﺮ ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺘﻼﻋﺐ ﺑﺄﻱ ٍّﻣﻨﻬﺎ ﻟﻠﺘﺄﺛﻴﺮ ﻋﻠﻰ ﺳﻠﻮﻙ ﻋﻨﺼﺮ
ﺍﻟﺘﺤﻜﻢ،ﻭﺇﻟﻐﺎء ﺃﻱ ﺍﺧﺘﺒﺎﺭﺍﺕ ﺗﺤﻘﻖ ﻳﻨُﻔﺬّﻫﺎ.
.4.1ﻓﻬﻢ ﺍﻵﻟﻴﺔ
.4.13.1ﺍﺧﺘﺒﺎﺭ ﻟـ .4.8ﺍﺧﺘﺒﺎﺭ ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ .4.5ﺣﺴﺎﺏ ﺍﺧﺘﺒﺎﺭﻱ .4.2ﺍﺧﺘﺒﺎﺭ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
ﻣﻨﻄﻖﺍﻟﻔﺸﻞ ﺍﻟﻤﻔﺘﻮﺡ ﺍﻟﺘﻔﺮﺩ ﺍﺳﺘﻌﺎﺩﺓ ﺟﻮﺩﺓ
.4.13.2ﺍﺧﺘﺒﺎﺭ .4.3ﺍﺧﺘﺒﺎﺭ ﻝ
.4.9ﺷﻬﺎﺩﺓ ﺍﻻﺧﺘﺒﺎﺭ .4.6ﺍﺧﺘﺒﺎﺭ "ﺗﺬﻛﺮ
ﻣﺘﻌﺪﺩﺍﻟﻤﺮﺍﺣﻞ ﺍﺳﻢﺍﻟﻤﺴﺘﺨﺪﻡ
ﺍﻟﻘﺪﺭﺓﻋﻠﻰ ﺍﻟﺘﻨﺒﺆ ﺃﻧﺎ"
ﺍﻟﻌﻤﻠﻴﺎﺕ ﺗﻌﺪﺍﺩ
.4.7ﺍﻻﺧﺘﺒﺎﺭ
.4.10ﺗﺤﻘﻖ ﻣﻦ .4.4ﺍﺧﺘﺒﺎﺭ ﻟـ
ﺍﻟﺘﻤﺜﻴﻞ
ﺍﻧﺘﻘﺎﻝﻏﻴﺮ ﺁﻣﻦ ﺗﺨﻤﻴﻦﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
ﺍﻟﻮﻇﺎﺉﻒ
.4.11ﺗﺤﻘﻖ ﻣﻦ
ﺗﻮﺯﻳﻊﻏﻴﺮ ﺁﻣﻦ
.4.12ﺗﺤﻘﻖ ﻣﻦ
ﺗﺨﺰﻳﻦﻏﻴﺮ ﺁﻣﻦ
4.1ﻓﻬﻢ ﺍﻵﻟﻴﺔ
4.1.1ﺗﺤﺪﻳﺪ ﺗﻘﻨﻴﺎﺕ ﺍﻟﻤﺼﺎﺩﻗﺔ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺍﻟﻨﻤﺎﺫﺝ ،ﺃﻭ ﺍﻟﺸﻬﺎﺩﺍﺕ ،ﺃﻭ
ﺍﻟﻌﻮﺍﻣﻞﺍﻟﻤﺘﻌﺪﺩﺓ(.
4.1.2ﺣﺪﺩ ﻣﻮﻗﻊ ﺟﻤﻴﻊ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﻤﺼﺎﺩﻗﺔ )ﺑﻤﺎ ﻓﻲ ﺫﻟﻚ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ،
ﻭﺍﻟﺘﺴﺠﻴﻞ،ﻭﺍﺳﺘﻌﺎﺩﺓ ﺍﻟﺤﺴﺎﺏ ،ﻭﻣﺎ ﺇﻟﻰ ﺫﻟﻚ(.
4.1.3ﺇﺫﺍ ﻟﻢ ﻳﻨﻔﺬ ﺍﻟﺘﻄﺒﻴﻖ ﺁﻟﻴﺔ ﺍﻟﺘﺴﺠﻴﻞ ﺍﻟﺬﺍﺗﻲ ﺍﻵﻟﻴﺔ ،ﻓﺤﺪﺩ ﻣﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺃﻱ ﻭﺳﺎﺉﻞ
ﺃﺧﺮﻯﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﻋﺪﺓ ﺣﺴﺎﺑﺎﺕ ﻣﺴﺘﺨﺪﻡ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 806
4.2.4ﺑﻌﺪ ﺗﺤﺪﻳﺪ ﺍﻟﺤﺪ ﺍﻷﺩﻧﻰ ﻟﺠﻮﺩﺓ ﻛﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ ،ﻭﻣﺪﻯ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺘﻬﺎ ،ﺣﺪﺩ ﻧﻄﺎﻕ
ﺍﻟﻘﻴﻢﺍﻟﺘﻲ ﻳﺠﺐ ﺃﻥ ﻳﺴﺘﺨﺪﻣﻬﺎ ﻫﺠﻮﻡ ﺗﺨﻤﻴﻦ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﻟﺘﺤﻘﻴﻖ ﺍﺣﺘﻤﺎﻟﻴﺔ ﻧﺠﺎﺡ ﺟﻴﺪﺓ.
ﺣﺎﻭﻝﺗﺤﺪﻳﺪ ﺃﻱ ﺣﺴﺎﺑﺎﺕ ﻣﺪﻣﺠﺔ ﻗﺪ ﻻ ﺗﻜﻮﻥ ﺧﺎﺿﻌﺔ ﻟﻤﺘﻄﻠﺒﺎﺕ ﺗﻌﻘﻴﺪ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
ﺍﻟﻘﻴﺎﺳﻴﺔ.
4.3.3ﺇﺫﺍ ﻻﺣﻈﺖ ﺃﻱ ﺍﺧﺘﻼﻓﺎﺕ ﺑﻴﻦ ﺍﻻﺳﺘﺠﺎﺑﺎﺕ ﺣﻴﺚ ﺗﻢ ﺗﻘﺪﻳﻢ ﺍﺳﻢ ﻣﺴﺘﺨﺪﻡ ﺻﺎﻟﺢ ﻭﻏﻴﺮ
ﺻﺎﻟﺢ،ﻓﻜﺮﺭ ﺍﻻﺧﺘﺒﺎﺭ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺯﻭﺝ ﻣﺨﺘﻠﻒ ﻣﻦ ﺍﻟﻘﻴﻢ ﻭﺗﺄﻛﺪ ﻣﻦ ﻭﺟﻮﺩ ﺍﺧﺘﻼﻑ ﻣﻨﻬﺠﻲ
ﻳﻤﻜﻦﺃﻥ ﻳﻮﻓﺮ ﺃﺳﺎﺳﺎً ﻹﺣﺼﺎء ﺃﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺗﻠﻘﺎﺉﻴﺎً.
807 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
4.3.4ﺗﺤﻘﻖ ﻣﻦ ﺃﻱ ﻣﺼﺎﺩﺭ ﺃﺧﺮﻯ ﻟﺘﺴﺮﻳﺐ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ ،ﻭﺍﻟﺘﻲ ﻗﺪ ﺗﻤُﻜﻨّﻚ ﻣﻦ
ﺗﺠﻤﻴﻊﻗﺎﺉﻤﺔ ﺑﺄﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺼﺤﻴﺤﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻭﻇﻴﻔﺔ ﺍﻟﺘﺴﺠﻴﻞ،
ﻭﻗﻮﺍﺉﻢﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﻤﺴﺠﻠﻴﻦ ،ﻭﺍﻹﺷﺎﺭﺓ ﺍﻟﻤﺒﺎﺷﺮﺓ ﺇﻟﻰ ﺍﻷﺳﻤﺎء ﺃﻭ ﻋﻨﺎﻭﻳﻦ ﺍﻟﺒﺮﻳﺪ
ﺍﻹﻟﻜﺘﺮﻭﻧﻲﻓﻲ ﺗﻌﻠﻴﻘﺎﺕ ﺍﻟﻜﻮﺩ ﺍﻟﻤﺼﺪﺭﻱ.
4.3.5ﺣﺪﺩ ﺃﻱ ﻣﺼﺎﺩﻗﺔ ﻓﺮﻋﻴﺔ ﺗﻘﺒﻞ ﺍﺳﻢ ﻣﺴﺘﺨﺪﻡ ،ﻭﺗﺄﻛﺪ ﻣﻦ ﺇﻣﻜﺎﻧﻴﺔ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﺘﻌﺪﺍﺩ ﺃﺳﻤﺎء
ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ.ﺍﻧﺘﺒﻪ ﺟﻴﺪﺍً ﻟﺼﻔﺤﺔ ﺍﻟﺘﺴﺠﻴﻞ ﺍﻟﺘﻲ ﺗﺴﻤﺢ ﺑﺘﺤﺪﻳﺪ ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ.
4.4.2ﻓﻲ ﻛﻞ ﻣﻮﻗﻊ ،ﺑﺎﺳﺘﺨﺪﺍﻡ ﺣﺴﺎﺏ ﺗﺘﺤﻜﻢ ﻓﻴﻪ ،ﺃﺭﺳﻞ ﻳﺪﻭﻳﺎً ﻋﺪﺓ ﻃﻠﺒﺎﺕ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺍﺳﻢ
ﻣﺴﺘﺨﺪﻡﺻﺤﻴﺢ ﻭﺑﻴﺎﻧﺎﺕ ﺍﻋﺘﻤﺎﺩ ﺃﺧﺮﻯ ﻏﻴﺮ ﺻﺎﻟﺤﺔ .ﺭﺍﻗﺐ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﻟﺘﺤﺪﻳﺪ
ﺃﻱﺍﺧﺘﻼﻓﺎﺕ .ﺑﻌﺪ ﺣﻮﺍﻟﻲ 10ﻣﺤﺎﻭﻻﺕ ﺗﺴﺠﻴﻞ ﺩﺧﻮﻝ ﻓﺎﺷﻠﺔ ،ﺇﺫﺍ ﻟﻢ ﻳﺮُﺳﻞ ﺍﻟﺘﻄﺒﻴﻖ
ﺭﺳﺎﻟﺔﺗﻔﻴﺪ ﺑﺈﻏﻼﻕ ﺍﻟﺤﺴﺎﺏ ،ﻓﺄﺭﺳﻞ ﻃﻠﺒﺎً ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺑﻴﺎﻧﺎﺕ ﺍﻋﺘﻤﺎﺩ ﺻﺎﻟﺤﺔ .ﻓﻲ ﺣﺎﻝ
ﻧﺠﺎﺡﻫﺬﺍ ﺍﻟﻄﻠﺐ ،ﻓﻤﻦ ﺍﻟﻤﺮﺟﺢ ﺃﻥ ﺳﻴﺎﺳﺔ ﺇﻏﻼﻕ ﺍﻟﺤﺴﺎﺏ ﻏﻴﺮ ﺳﺎﺭﻳﺔ.
٤.٤.٣ﺇﺫﺍ ﻟﻢ ﺗﻜﻦ ﺗﺘﺤﻜﻢ ﻓﻲ ﺃﻱ ﺣﺴﺎﺑﺎﺕ ،ﻓﺤﺎﻭﻝ ﺗﻌﺪﺍﺩ ﺃﻭ ﺗﺨﻤﻴﻦ ﺍﺳﻢ ﻣﺴﺘﺨﺪﻡ ﺻﺤﻴﺢ،
ﻭﻗﻤﺖﺑﻌﺪﺓ ﻃﻠﺒﺎﺕ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻫﺬﺍ ﺍﻟﺘﺨﻤﻴﻦ ،ﻣﻊ ﻣﺮﺍﻗﺒﺔ ﺃﻱ ﺭﺳﺎﺉﻞ ﺧﻄﺄ
ﺗﺸﻴﺮﺇﻟﻰ ﻗﻔﻞ ﺍﻟﺤﺴﺎﺏ .ﺑﺎﻟﻄﺒﻊ ،ﻳﺠﺐ ﺃﻥ ﺗﻌﻠﻢ ﺃﻥ ﻫﺬﺍ ﺍﻻﺧﺘﺒﺎﺭ ﻗﺪ ﻳﺆﺩﻱ ﺇﻟﻰ ﺗﻌﻠﻴﻖ ﺃﻭ
ﺗﻌﻄﻴﻞﺣﺴﺎﺏ ﻣﺴﺘﺨﺪﻡ ﺁﺧﺮ.
4.5.2ﻗﻢ ﺑﺘﺤﺪﻳﺪ ﻛﻴﻔﻴﺔ ﻋﻤﻞ ﻭﻇﻴﻔﺔ ﺍﺳﺘﺮﺩﺍﺩ ﺍﻟﺤﺴﺎﺏ ﻣﻦ ﺧﻼﻝ ﺍﻟﻘﻴﺎﻡ ﺑﺠﻮﻟﺔ ﻛﺎﻣﻠﺔ ﻓﻲ ﻋﻤﻠﻴﺔ
ﺍﻻﺳﺘﺮﺩﺍﺩﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺤﺴﺎﺏ ﺍﻟﺬﻱ ﺗﺘﺤﻜﻢ ﻓﻴﻪ.
4.5.3ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻮﻇﻴﻔﺔ ﺗﺴﺘﺨﺪﻡ ﺗﺤﺪﻳﺎً ﻣﺜﻞ ﺳﺆﺍﻝ ﺳﺮﻱ ،ﻓﺤﺪﺩ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻥ
ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦﺗﻌﻴﻴﻦ ﺃﻭ ﺗﺤﺪﻳﺪ ﺍﻟﺘﺤﺪﻱ ﺍﻟﺨﺎﺹ ﺑﻬﻢ ﺃﺛﻨﺎء ﺍﻟﺘﺴﺠﻴﻞ.
ﺇﺫﺍﻛﺎﻥ ﺍﻷﻣﺮ ﻛﺬﻟﻚ ،ﻓﺎﺳﺘﺨﺪﻡ ﻗﺎﺉﻤﺔ ﺑﺄﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﻤﺬﻛﻮﺭﺓ ﺃﻭ ﺍﻟﺸﺎﺉﻌﺔ ﻟﺠﻤﻊ
ﻗﺎﺉﻤﺔﺑﺎﻟﺘﺤﺪﻳﺎﺕ ،ﺛﻢ ﺭﺍﺟﻌﻬﺎ ﺑﺤﺜﺎً ﻋﻦ ﺃﻱ ﻣﻨﻬﺎ ﻳﺒﺪﻭ ﺃﻧﻪ ﻳﻤﻜﻦ ﺗﺨﻤﻴﻨﻪ ﺑﺴﻬﻮﻟﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 808
4.5.4ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻮﻇﻴﻔﺔ ﺗﺴﺘﺨﺪﻡ ﺗﻠﻤﻴﺢ ﻛﻠﻤﺔ ﻣﺮﻭﺭ ،ﻓﻘﻢ ﺑﺈﺟﺮﺍء ﻧﻔﺲ ﺍﻟﺘﻤﺮﻳﻦ ﻟﺠﻤﻊ ﻗﺎﺉﻤﺔ ﻣﻦ
ﺗﻠﻤﻴﺤﺎﺕﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ،ﻭﺗﺤﺪﻳﺪ ﺃﻱ ﻣﻨﻬﺎ ﻳﺒﺪﻭ ﺃﻧﻪ ﻳﻤﻜﻦ ﺗﺨﻤﻴﻨﻪ ﺑﺴﻬﻮﻟﺔ.
4.5.5ﻗﻢ ﺑﺈﺟﺮﺍء ﻧﻔﺲ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﻋﻠﻰ ﺃﻱ ﺗﺤﺪﻳﺎﺕ ﺍﺳﺘﺮﺩﺍﺩ ﺍﻟﺤﺴﺎﺏ ﺍﻟﺘﻲ ﺃﺟﺮﻳﺘﻬﺎ ﻓﻲ ﻭﻇﻴﻔﺔ
ﺗﺴﺠﻴﻞﺍﻟﺪﺧﻮﻝ ﺍﻟﺮﺉﻴﺴﻴﺔ ﻟﺘﻘﻴﻴﻢ ﺍﻟﻀﻌﻒ ﺃﻣﺎﻡ ﻫﺠﻤﺎﺕ ﺍﻟﺘﺨﻤﻴﻦ ﺍﻵﻟﻴﺔ.
4.5.6ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻮﻇﻴﻔﺔ ﺗﺘﻄﻠﺐ ﺇﺭﺳﺎﻝ ﺑﺮﻳﺪ ﺇﻟﻜﺘﺮﻭﻧﻲ ﻟﻠﻤﺴﺘﺨﺪﻡ ﻹﻛﻤﺎﻝ ﻋﻤﻠﻴﺔ ﺍﻻﺳﺘﺮﺩﺍﺩ،
ﻓﺎﺑﺤﺚﻋﻦ ﺃﻱ ﻧﻘﺎﻁ ﺿﻌﻒ ﻗﺪ ﺗﻤُﻜﻨّﻚ ﻣﻦ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺣﺴﺎﺑﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻵﺧﺮﻳﻦ.
ﺣﺪﺩّﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﻋﻨﻮﺍﻥ ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ ﺍﻟﻤﺮُﺳﻞَ ﺇﻟﻴﻪ .ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺮﺳﺎﻟﺔ ﺗﺤﺘﻮﻱ
ﻋﻠﻰﻋﻨﻮﺍﻥ URLﻓﺮﻳﺪ ﻟﻼﺳﺘﺮﺩﺍﺩ ،ﻓﺎﺣﺼﻞ ﻋﻠﻰ ﻋﺪﺩ ﻣﻦ ﺍﻟﺮﺳﺎﺉﻞ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻋﻨﻮﺍﻥ ﺑﺮﻳﺪ
ﺇﻟﻜﺘﺮﻭﻧﻲﺗﺘﺤﻜﻢ ﻓﻴﻪ ،ﻭﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﺃﻱ ﺃﻧﻤﺎﻁ ﻗﺪ ﺗﻤُﻜﻨّﻚ ﻣﻦ ﺍﻟﺘﻨﺒﺆ ﺑﻌﻨﺎﻭﻳﻦ URL
ﺍﻟﻤﺮُﺳﻠَﺔﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻵﺧﺮﻳﻦ .ﻃﺒﻖّ ﺍﻟﻤﻨﻬﺠﻴﺔ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﺨﻄﻮﺓ 5.3ﻟﺘﺤﺪﻳﺪ ﺃﻱ
ﺗﺴﻠﺴﻼﺕﻣﺘﻮﻗﻌﺔ.
4.6.4ﺑﻨﺎء ًﻋﻠﻰ ﻧﺘﺎﺉﺠﻚ ،ﻗﻢ ﺑﺘﻌﺪﻳﻞ ﻣﺤﺘﻮﻳﺎﺕ ﻣﻠﻒ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﺨﺎﺹ ﺑﻚ ﺑﺎﻟﻄﺮﻕ
ﺍﻟﻤﻨﺎﺳﺒﺔﻓﻲ ﻣﺤﺎﻭﻟﺔ ﻟﻠﺘﻈﺎﻫﺮ ﺑﺄﻧﻚ ﻣﺴﺘﺨﺪﻣﻮﻥ ﺁﺧﺮﻭﻥ ﻟﻠﺘﻄﺒﻴﻖ.
٤.٨.٤ﺇﺫﺍ ﻧﺒﻬﻚ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻭ ﺃﺻﺪﺭ ﺧﻄﺄ ًﻋﻨﺪ ﺣﺪﻭﺙ ﺗﻌﺎﺭﺽ ﺑﻴﻦ ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ،
ﻓﻴﻤﻜﻨﻚﻋﻠﻰ ﺍﻷﺭﺟﺢ ﺍﺳﺘﻐﻼﻝ ﺫﻟﻚ ﻟﺘﻨﻔﻴﺬ ﻫﺠﻮﻡ ﺗﺨﻤﻴﻦ ﺁﻟﻲ ﻻﻛﺘﺸﺎﻑ ﻛﻠﻤﺔ ﻣﺮﻭﺭ
ﻣﺴﺘﺨﺪﻡﺁﺧﺮ .ﺍﺳﺘﻬﺪﻑ ﺍﺳﻢ ﻣﺴﺘﺨﺪﻡ ﻣﻌُﺪﺩّﺍً ﺃﻭ ﻣﺨُﻤﻨّﺎً ،ﻭﺣﺎﻭﻝ ﺇﻧﺸﺎء ﺣﺴﺎﺑﺎﺕ ﺗﺤﻤﻞ
ﻫﺬﺍﺍﻻﺳﻢ ﻭﻛﻠﻤﺎﺕ ﻣﺮﻭﺭ ﻣﺨﺘﻠﻔﺔ .ﻋﻨﺪﻣﺎ ﻳﺮﻓﺾ ﺍﻟﺘﻄﺒﻴﻖ ﻛﻠﻤﺔ ﻣﺮﻭﺭ ﻣﻌﻴﻨﺔ ،ﻓﻤﻦ
ﺍﻟﻤﺤﺘﻤﻞﺃﻧﻚ ﻭﺟﺪﺕ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﺍﻟﺤﺎﻟﻴﺔ ﻟﻠﺤﺴﺎﺏ ﺍﻟﻤﺴﺘﻬﺪﻑ.
٤.٨.٥ﺇﺫﺍ ﺑﺪﺍ ﺃﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺘﻘﺒﻞ ﺗﻌﺎﺭﺽ ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﺩﻭﻥ ﺃﻱ ﺧﻄﺄ ،ﻓﺴﺠ ّ
ﻞ
ﺍﻟﺪﺧﻮﻝﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﺍﻟﻤﺘﻌﺎﺭﺿﺔ .ﺣﺪﺩ ﻣﺎ ﺳﻴﺤﺪﺙ ،ﻭﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺳﻠﻮﻙ
ﺍﻟﺘﻄﺒﻴﻖﻳﺴُﺘﻐﻞ ﻟﻠﻮﺻﻮﻝ ﻏﻴﺮ ﺍﻟﻤﺼﺮﺡ ﺑﻪ ﺇﻟﻰ ﺣﺴﺎﺑﺎﺕ ﻣﺴﺘﺨﺪﻣﻴﻦ ﺁﺧﺮﻳﻦ.
4.9.2ﺇﺫﺍ ﺗﻢ ﺇﻧﺸﺎء ﺃﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺑﻄﺮﻳﻘﺔ ﻣﺘﻮﻗﻌﺔ ،ﻓﺎﺳﺘﻌﻦ ﺑﺎﻟﻨﺘﺎﺉﺞ ﺍﻟﻌﻜﺴﻴﺔ ﻟﻠﺤﺼﻮﻝ
ﻋﻠﻰﻗﺎﺉﻤﺔ ﺑﺄﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺼﺎﻟﺤﺔ ﺍﻟﻤﺤﺘﻤﻠﺔ .ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻫﺬﺍ ﻛﺄﺳﺎﺱ
ﻟﺘﺨﻤﻴﻦﻛﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ ﺗﻠﻘﺎﺉﻴﺎً ﻭﻫﺠﻤﺎﺕ ﺃﺧﺮﻯ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 810
4.9.3ﺇﺫﺍ ﺗﻢ ﺇﻧﺸﺎء ﻛﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ ﺑﻄﺮﻳﻘﺔ ﻳﻤﻜﻦ ﺍﻟﺘﻨﺒﺆ ﺑﻬﺎ ،ﻓﻘﻢ ﺑﺎﺳﺘﻘﺮﺍء ﺍﻟﻨﻤﻂ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ
ﻗﺎﺉﻤﺔﺑﻜﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ ﺍﻟﻤﺤﺘﻤﻠﺔ ﺍﻟﺘﻲ ﺗﻢ ﺇﺻﺪﺍﺭﻫﺎ ﻟﻤﺴﺘﺨﺪﻣﻲ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻵﺧﺮﻳﻦ.
ﻳﻤﻜﻦﺩﻣﺞ ﻫﺬﺍ ﻣﻊ ﺃﻱ ﻗﻮﺍﺉﻢ ﺃﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺘﻲ ﺗﺤﺼﻞ ﻋﻠﻴﻬﺎ ﻟﺘﻨﻔﻴﺬ ﻫﺠﻮﻡ
ﺗﺨﻤﻴﻦﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ.
4.10.2ﺣﺪﺩ ﺟﻤﻴﻊ ﺍﻟﺤﺎﻻﺕ ﺍﻟﺘﻲ ﺗﺮُﺳﻞ ﻓﻴﻬﺎ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﻓﻲ ﺃﻱ ﺍﺗﺠﺎﻩ .ﻳﻤﻜﻨﻚ ﺿﺒﻂ ﻗﻮﺍﻋﺪ
ﺍﻻﻋﺘﺮﺍﺽﻓﻲ ﺧﺎﺩﻡ ﺍﻟﻮﻛﻴﻞ ﺍﻟﺨﺎﺹ ﺑﻚ ﻟﺘﺤﺪﻳﺪ ﺍﻟﺮﺳﺎﺉﻞ ﺍﻟﺘﻲ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺳﻼﺳﻞ
ﻧﺼﻴﺔﻣﺤﺪﺩﺓ.
4.10.3ﺇﺫﺍ ﺗﻢ ﻧﻘﻞ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﻓﻲ ﺳﻠﺴﻠﺔ ﺍﺳﺘﻌﻼﻡ ﻋﻨﻮﺍﻥ ،URLﻓﻤﻦ ﺍﻟﻤﺤﺘﻤﻞ ﺃﻥ ﺗﻜﻮﻥ
ﻋﺮﺿﺔﻟﻠﻜﺸﻒ ﻓﻲ ﺳﺠﻞ ﺍﻟﻤﺘﺼﻔﺢ ،ﻭﻋﻠﻰ ﺍﻟﺸﺎﺷﺔ،
ﻓﻲﺳﺠﻼﺕ ﺍﻟﺨﺎﺩﻡ ،ﻭﻓﻲﺍﻟﻤﺤُﻴﻞﺍﻟﺮﺃﺱ ﻋﻨﺪ ﺍﺗﺒﺎﻉ ﺭﻭﺍﺑﻂ ﺍﻟﻄﺮﻑ ﺍﻟﺜﺎﻟﺚ.
4.10.4ﺇﺫﺍ ﺗﻢ ﺗﺨﺰﻳﻦ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﻓﻲ ﻣﻠﻒ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ،ﻓﻤﻦ ﺍﻟﻤﺤﺘﻤﻞ ﺃﻥ ﺗﻜﻮﻥ ﻋﺮﺿﺔ
ﻟﻠﻜﺸﻒﻣﻦ ﺧﻼﻝ ﻫﺠﻤﺎﺕ XSSﺃﻭ ﻫﺠﻤﺎﺕ ﺍﻟﺨﺼﻮﺻﻴﺔ ﺍﻟﻤﺤﻠﻴﺔ.
4.10.5ﺇﺫﺍ ﺗﻢ ﻧﻘﻞ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﻣﻦ ﺍﻟﺨﺎﺩﻡ ﺇﻟﻰ ﺍﻟﻌﻤﻴﻞ ،ﻓﻘﺪ ﺗﺘﻌﺮﺽ ﻟﻠﺨﻄﺮ ﻣﻦ ﺧﻼﻝ ﺃﻱ
ﺛﻐﺮﺍﺕﻓﻲ ﺇﺩﺍﺭﺓ ﺍﻟﺠﻠﺴﺔ ﺃﻭ ﻋﻨﺎﺻﺮ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ،ﺃﻭ ﻓﻲ ﻫﺠﻮﻡ .XSS
4.10.6ﺇﺫﺍ ﺗﻢ ﻧﻘﻞ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﻋﺒﺮ ﺍﺗﺼﺎﻝ ﻏﻴﺮ ﻣﺸﻔﺮ ،ﻓﺈﻧﻬﺎ ﺗﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻠﺘﻨﺼﺖ ﻣﻦ ﻗﺒﻞ
ﺍﻟﻤﺘﻨﺼﺖ.
4.10.7ﺇﺫﺍ ﺗﻢ ﺇﺭﺳﺎﻝ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﺑﺎﺳﺘﺨﺪﺍﻡ HTTPSﻭﻟﻜﻦ ﻧﻤﻮﺫﺝ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ﻧﻔﺴﻪ
ﺇﺫﺍﺗﻢ ﺗﺤﻤﻴﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺎﺳﺘﺨﺪﺍﻡ ،HTTPﻓﺈﻧﻪ ﻳﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻬﺠﻮﻡ ﺍﻟﻮﺳﻴﻂ ﺍﻟﺬﻱ ﻗﺪ
ﻳﺴﺘﺨﺪﻡﻻﻟﺘﻘﺎﻁ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ.
4.11.2ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻨُﺸﺊ ﺭﻭﺍﺑﻂ ﻟﺘﻔﻌﻴﻞ ﺍﻟﺤﺴﺎﺑﺎﺕ ﻣﻮﺯﻋﺔ ﺧﺎﺭﺝ ﻧﻄﺎﻕ ﺍﻟﺘﻐﻄﻴﺔ ،ﻓﺤﺎﻭﻝ
ﺗﺴﺠﻴﻞﻋﺪﺓ ﺣﺴﺎﺑﺎﺕ ﺟﺪﻳﺪﺓ ﺑﺎﻟﺘﺘﺎﺑﻊ ،ﻭﺣﺪﺩ ﺃﻱ ﺗﺴﻠﺴﻞ ﻓﻲ ﺍﻟﺮﻭﺍﺑﻂ ﺍﻟﺘﻲ ﺗﺘﻠﻘﺎﻫﺎ .ﺇﺫﺍ
ﺃﻣﻜﻦﺗﺤﺪﻳﺪ ﻧﻤﻂ ،ﻓﺤﺎﻭﻝ ﺗﻮﻗﻊ ﺍﻟﺮﻭﺍﺑﻂ ﺍﻟﻤﺮﺳﻠﺔ ﺇﻟﻰ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺤﺎﻟﻴﻴﻦ
ﻭﺍﻟﻤﺴﺘﻘﺒﻠﻴﻴﻦ،ﻭﺍﺳﺘﺨﺪﻡ ﻫﺬﻩ ﺍﻟﺮﻭﺍﺑﻂ ﻹﺩﺍﺭﺓ ﺣﺴﺎﺑﺎﺗﻬﻢ.
4.11.3ﺣﺎﻭﻝ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﺭﺍﺑﻂ ﺗﻔﻌﻴﻞ ﻭﺍﺣﺪ ﻋﺪﺓ ﻣﺮﺍﺕ ،ﻭﺗﺄﻛﺪ ﻣﻦ ﺃﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﻤﺢ ﺑﺬﻟﻚ.
ﺇﺫﺍﻟﻢ ﻳﻜﻦ ﻛﺬﻟﻚ ،ﻓﺤﺎﻭﻝ ﺣﻈﺮ ﺍﻟﺤﺴﺎﺏ ﺍﻟﻤﺴﺘﻬﺪﻑ ﻗﺒﻞ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺮﺍﺑﻂ ،ﻭﺗﺄﻛﺪ
ﻣﻦﺃﻧﻪ ﻻ ﻳﺰﺍﻝ ﻳﻌﻤﻞ .ﺗﺄﻛﺪ ﻣﻦ ﺃﻥ ﻫﺬﺍ ﻳﻤُﻜﻨّﻚ ﻣﻦ ﺗﻌﻴﻴﻦ ﻛﻠﻤﺔ ﻣﺮﻭﺭ ﺟﺪﻳﺪﺓ ﻟﺤﺴﺎﺏ
ﻧﺸﻂ.
ﺇﺭﺳﺎﻝﻧﻔﺲ ﺍﻟﻤﻌﻠﻤﺔ ﺍﻟﻤﺴﻤﺎﺓ ﻋﺪﺓ ﻣﺮﺍﺕ ،ﺑﻨﻔﺲ ﺍﻟﻘﻴﻢ ﻭﻗﻴﻢ ﻣﺨﺘﻠﻔﺔ. -
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 812
ﻗﻢﺑﺎﻻﻧﺘﻘﺎﻝ ﻋﺒﺮ ﺟﻤﻴﻊ ﺍﻟﻤﺮﺍﺣﻞ ،ﻭﻟﻜﻦ ﺑﺘﺴﻠﺴﻞ ﻣﺨﺘﻠﻒ ﻋﻦ ﺍﻟﺘﺴﻠﺴﻞ ﺍﻟﻤﻘﺼﻮﺩ. -
ﻗﻢﺑﺎﻟﻤﺘﺎﺑﻌﺔ ﻋﺒﺮ ﺍﻟﺘﺴﻠﺴﻞ ﺍﻟﻄﺒﻴﻌﻲ ﻋﺪﺓ ﻣﺮﺍﺕ ،ﻭﺗﺨﻄﻲ ﻛﻞ ﻣﺮﺣﻠﺔ ﺑﺪﻭﺭﻫﺎ، -
ﻓﻲﻃﺮﻕ ﺃﺧﺮﻯ ﻟﺘﻌﺪﻳﻞ ﺍﻟﺘﺴﻠﺴﻞ ﻭﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﺮﺍﺣﻞ ﺍﻟﻤﺨﺘﻠﻔﺔ ﺍﻟﺘﻲ ﺭﺑﻤﺎ ﻟﻢ
ﻳﺘﻮﻗﻌﻬﺎﺍﻟﻤﻄﻮﺭﻭﻥ.
4.13.2.4ﺍﺑﺤﺚ ﻋﻦ ﺃﻱ ﺑﻴﺎﻧﺎﺕ ﻣﺮُﺳﻠﺔ ﻋﺒﺮ ﺍﻟﻌﻤﻴﻞ ﻭﻟﻢ ﻳﺘﻢ ﺍﻟﺘﻘﺎﻃﻬﺎ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻓﻲ ﺃﻱ ﻭﻗﺖ.
ﻓﻲﺣﺎﻝ ﺍﺳﺘﺨﺪﺍﻡ ﻣﻌﻠﻤﺎﺕ ﻣﺨﻔﻴﺔ،
813 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﻟﺘﺘﺒﻊﺣﺎﻟﺔ ﺍﻟﻌﻤﻠﻴﺔ ﻋﺒﺮ ﺍﻟﻤﺮﺍﺣﻞ ﺍﻟﻤﺘﻌﺎﻗﺒﺔ ،ﻗﺪ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺍﻟﺘﺪﺧﻞ ﻓﻲ ﻣﻨﻄﻖ
ﺍﻟﺘﻄﺒﻴﻖﻋﻦ ﻃﺮﻳﻖ ﺗﻌﺪﻳﻞ ﻫﺬﻩ ﺍﻟﻤﻌﻠﻤﺎﺕ ﺑﻄﺮﻕ ﻣﺼﻤﻤﺔ.
ﺣﺎﻭﻝﻣﺘﺎﺑﻌﺔ ﺍﻟﺘﺤﺪﻱ ﺍﻟﻤﺘﻐﻴﺮ ﻋﺪﺓ ﻣﺮﺍﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻧﻔﺴﻪ ،ﻭﺗﺄﻛﺪ -
ﻣﻦﻭﺟﻮﺩ ﺗﺤﺪﻱ ﻣﺨﺘﻠﻒ .ﺇﺫﺍ ﻛﺎﻥ ﺍﻷﻣﺮ ﻛﺬﻟﻚ ،ﻳﻤﻜﻨﻚ ﺍﺧﺘﻴﺎﺭ ﺍﻟﺘﺤﺪﻱ ﺍﻟﺨﺎﺹ ﺑﻚ
ﺑﻔﻌﺎﻟﻴﺔﻣﻦ ﺧﻼﻝ ﻣﺘﺎﺑﻌﺔ ﻫﺬﻩ ﺍﻟﻤﺮﺣﻠﺔ ﺑﺸﻜﻞ ﻣﺘﻜﺮﺭ ﺣﺘﻰ ﻳﺘﻢ ﻋﺮﺽ ﺍﻟﺘﺤﺪﻱ ﺍﻟﺬﻱ
ﺗﺮﻳﺪﻩ.
4.14.3ﺧﺬ ﻓﻲ ﺍﻻﻋﺘﺒﺎﺭ ﻗﻮﺍﻋﺪ ﺟﻮﺩﺓ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﻭﺍﻛﺘﻤﺎﻝ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﻋﻨﺪ
ﺇﻧﺸﺎءﻗﻮﺍﺉﻢ ﺍﻟﻜﻠﻤﺎﺕ ﻻﺳﺘﺨﺪﺍﻣﻬﺎ ﻓﻲ ﺃﻱ ﻫﺠﻮﻡ ﺗﺨﻤﻴﻦ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ ﻟﺘﺠﻨﺐ ﺣﺎﻻﺕ
ﺍﻻﺧﺘﺒﺎﺭﺍﻟﻤﺴﺘﺤﻴﻠﺔ ﺃﻭ ﻏﻴﺮ ﺍﻟﻀﺮﻭﺭﻳﺔ.
4.14.4ﺍﺳﺘﺨﺪﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ 14ﻷﺗﻤﺘﺔ ﺃﻛﺒﺮ ﻗﺪﺭ ﻣﻤﻜﻦ ﻣﻦ ﺍﻟﻌﻤﻞ ﻭﺗﻌﻈﻴﻢ
ﺳﺮﻋﺔﻭﻓﻌﺎﻟﻴﺔ ﻫﺠﻤﺎﺗﻚ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 814
.5.1ﻓﻬﻢ ﺍﻵﻟﻴﺔ
.5.9ﺍﻟﺘﺤﻘﻖ ﻣﻦ CSRF
5.1ﻓﻬﻢ ﺍﻵﻟﻴﺔ
5.1.1ﺣﻠﻞ ﺁﻟﻴﺔ ﺇﺩﺍﺭﺓ ﺍﻟﺠﻠﺴﺎﺕ ﻭﺍﻟﺤﺎﻟﺔ .ﺗﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ﺃﻭ ﺃﻱ
ﻃﺮﻳﻘﺔﺃﺧﺮﻯ ﻟﻤﻌﺎﻟﺠﺔ ﺳﻠﺴﻠﺔ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﻮﺍﺭﺩﺓ ﻣﻦ ﻛﻞ ﻣﺴﺘﺨﺪﻡ .ﺗﺠﺪﺭ ﺍﻹﺷﺎﺭﺓ ﺇﻟﻰ ﺃﻥ
ﺑﻌﺾﺗﻘﻨﻴﺎﺕ ﺍﻟﻤﺼﺎﺩﻗﺔ )ﻣﺜﻞ ﻣﺼﺎﺩﻗﺔ (HTTPﻗﺪ ﻻ ﺗﺘﻄﻠﺐ ﺁﻟﻴﺔ ﺟﻠﺴﺔ ﻛﺎﻣﻠﺔ ﻹﻋﺎﺩﺓ
ﺗﺤﺪﻳﺪﻫﻮﻳﺔ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺑﻌﺪ ﺍﻟﻤﺼﺎﺩﻗﺔ.
ﺑﺎﻹﺿﺎﻓﺔﺇﻟﻰ ﺫﻟﻚ ،ﺗﺴﺘﺨﺪﻡ ﺑﻌﺾ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺁﻟﻴﺔ ﺣﺎﻟﺔ ﺑﺪﻭﻥ ﺟﻠﺴﺔ ﺣﻴﺚ ﻳﺘﻢ ﻧﻘﻞ ﻛﺎﻓﺔ
ﻣﻌﻠﻮﻣﺎﺕﺍﻟﺤﺎﻟﺔ ﻋﺒﺮ ﺍﻟﻌﻤﻴﻞ ،ﻭﻋﺎﺩﺓ ًﻓﻲ ﺷﻜﻞ ﻣﺸﻔﺮ ﺃﻭ ﻏﺎﻣﺾ.
٥.١.٢ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ،ﻓﺘﺄﻛﺪ ﺑﺪﻗﺔ ﻣﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻌﻠﻴﺎً ﻹﻋﺎﺩﺓ
ﺗﺤﺪﻳﺪﻫﻮﻳﺔ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ .ﺗﺸﻤﻞ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻨﻘﻞ ﺍﻟﺮﻣﻮﺯ ﻣﻠﻔﺎﺕ
ﺗﻌﺮﻳﻒﺍﺭﺗﺒﺎﻁ ،HTTPﻭﻣﻌﻠﻤﺎﺕ ﺳﻠﺴﻠﺔ ﺍﻻﺳﺘﻌﻼﻡ ،ﻭﺣﻘﻮﻝ ﺍﻟﻨﻤﺎﺫﺝ ﺍﻟﻤﺨﻔﻴﺔ .ﻗﺪ
ﺗﺴُﺘﺨﺪﻡﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻣﺨﺘﻠﻔﺔ ﻣﻌﺎً ﻹﻋﺎﺩﺓ ﺗﺤﺪﻳﺪ ﻫﻮﻳﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ،ﻭﻗﺪ ﺗﺴﺘﺨﺪﻡ ﻣﻜﻮﻧﺎﺕ
ﺧﻠﻔﻴﺔﻣﺨﺘﻠﻔﺔ ﻋﻨﺎﺻﺮ ﻣﺨﺘﻠﻔﺔ .ﻓﻲ ﻛﺜﻴﺮ ﻣﻦ ﺍﻷﺣﻴﺎﻥ ،ﻗﺪ ﻻ ﻳﺴﺘﺨﺪﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﻌﻨﺎﺻﺮ
ﺍﻟﺘﻲﺗﺒﺪﻭ ﻛﺮﻣﻮﺯ ﺟﻠﺴﺔ ﻋﻠﻰ ﻫﺬﺍ ﺍﻟﻨﺤﻮ ،ﻣﺜﻞ ﻣﻠﻒ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻻﻓﺘﺮﺍﺿﻲ ﺍﻟﺬﻱ
ﻳﻨُﺸﺉﻪﺧﺎﺩﻡ ﺍﻟﻮﻳﺐ.
815 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
٥.١.٣ﻟﻠﺘﺤﻘﻖ ﻣﻦ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻌﻠﻴﺎً ﻛﺮﻣﻮﺯ ﺟﻠﺴﺔ ،ﺍﺑﺤﺚ ﻋﻦ ﺻﻔﺤﺔ ﺃﻭ ﺩﺍﻟﺔ ﺗﻌﺘﻤﺪ
ﻋﻠﻰﺍﻟﺠﻠﺴﺔ )ﻣﺜﻞ ﺻﻔﺤﺔ "ﺗﻔﺎﺻﻴﻠﻲ" ﺍﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺘﺨﺪﻡ( .ﺛﻢ ﺍﻃﻠﺒﻬﺎ ﻋﺪﺓ ﻣﺮﺍﺕ ،ﻣﻊ
ﺇﺯﺍﻟﺔﻛﻞ ﻋﻨﺼﺮ ﺗﺸﻚ ﻓﻲ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻛﺮﻣﺰ ﺟﻠﺴﺔ ﺑﺸﻜﻞ ﻣﻨﻬﺠﻲ .ﺇﺫﺍ ﺃﺩﻯ ﺣﺬﻑ ﻋﻨﺼﺮ
ﺇﻟﻰﻣﻨﻊ ﻋﺮﺽ ﺍﻟﺼﻔﺤﺔ ﺍﻟﻤﻌﺘﻤﺪﺓ ﻋﻠﻰ ﺍﻟﺠﻠﺴﺔ ،ﻓﻘﺪ ﻳﺆﻛﺪ ﺫﻟﻚ ﺃﻥ ﺍﻟﻌﻨﺼﺮ ﻫﻮ ﺭﻣﺰ
ﺟﻠﺴﺔ.ﻳﻌُﺪ Burp Repeaterﺃﺩﺍﺓ ﻣﻔﻴﺪﺓ ﻹﺟﺮﺍء ﻫﺬﻩ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ.
٥.١.٤ﺑﻌﺪ ﺗﺤﺪﻳﺪ ﻋﻨﺎﺻﺮ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻌﻠﻴﺎً ﻹﻋﺎﺩﺓ ﺗﻌﺮﻳﻒ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ،ﺗﺄﻛﺪ ﻟﻜﻞ ﺭﻣﺰ
ﻣﺎﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺘﻪ ﺑﺎﻟﻜﺎﻣﻞ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺗﺠﺎﻫﻞ ﺑﻌﺾ ﻣﻜﻮﻧﺎﺗﻪ
ﺍﻟﻔﺮﻋﻴﺔ.ﻏﻴﺮّ ﻗﻴﻤﺔ ﺍﻟﺮﻣﺰ ﺑﺎﻳﺘﺎً ﻭﺍﺣﺪﺍً ﻓﻲ ﻛﻞ ﻣﺮﺓ ،ﻭﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﻌﺪﻟﺔ ﻻ
ﺗﺰﺍﻝﻣﻘﺒﻮﻟﺔ .ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻥ ﺃﺟﺰﺍء ًﻣﻌﻴﻨﺔ ﻣﻦ ﺍﻟﺮﻣﺰ ﻻ ﺗﺴُﺘﺨﺪﻡ ﻓﻌﻠﻴﺎً ﻟﻠﺤﻔﺎﻅ ﻋﻠﻰ ﺣﺎﻟﺔ
ﺍﻟﺠﻠﺴﺔ،ﻓﻴﻤﻜﻨﻚ ﺍﺳﺘﺒﻌﺎﺩﻫﺎ ﻣﻦ ﺍﻟﺘﺤﻠﻴﻞ ﺍﻹﺿﺎﻓﻲ.
٥.٢.٤ﺇﺫﺍ ﺗﻤﻜﻨﺖ ﻣﻦ ﺗﺤﺪﻳﺪ ﺃﻱ ﺑﻴﺎﻧﺎﺕ ﺫﺍﺕ ﻣﻌﻨﻰ ﺿﻤﻦ ﻋﻴﻨﺔ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ،ﻓﻔﻜﺮّ ﻓﻴﻤﺎ ﺇﺫﺍ ﻛﺎﻥ
ﺫﻟﻚﻛﺎﻓﻴﺎً ﻟﺸﻦ ّﻫﺠﻮﻡ ﻳﺤﺎﻭﻝ ﺗﺨﻤﻴﻦ ﺍﻟﺮﻣﻮﺯ ﺍﻟﺼﺎﺩﺭﺓ ﻣﺆﺧﺮﺍً ﻟﻤﺴﺘﺨﺪﻣﻲ ﺗﻄﺒﻴﻖ ﺁﺧﺮﻳﻦ.
ﺍﺑﺤﺚﻋﻦ ﺻﻔﺤﺔ ﻓﻲ ﺍﻟﺘﻄﺒﻴﻖ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﺠﻠﺴﺔ ،ﻭﺍﺳﺘﺨﺪﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 816
٥.٣.٢ﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﺃﻱ ﺃﻧﻤﺎﻁ ﺿﻤﻦ ﻋﻴﻨﺔ ﺍﻟﺮﻣﻮﺯ .ﻓﻲ ﺟﻤﻴﻊ ﺍﻟﺤﺎﻻﺕ ،ﺍﺳﺘﺨﺪﻡ ﺑﺮﻧﺎﻣﺞ
،Burp Sequencerﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓﻲ ﺍﻟﻔﺼﻞ ،٧ﻹﺟﺮﺍء ﺍﺧﺘﺒﺎﺭﺍﺕ ﺇﺣﺼﺎﺉﻴﺔ ﻣﻔﺼﻠﺔ
ﻟﺨﺼﺎﺉﺺﻋﺸﻮﺍﺉﻴﺔ ﺭﻣﻮﺯ ﺍﻟﺘﻄﺒﻴﻖ .ﺑﻨﺎء ًﻋﻠﻰ ﺍﻟﻨﺘﺎﺉﺞ ،ﻗﺪ ﻳﻜﻮﻥ ﻣﻦ ﺍﻟﻤﻔﻴﺪ ﺃﻳﻀﺎً ﺇﺟﺮﺍء
ﺍﻟﺘﺤﻠﻴﻞﺍﻟﻴﺪﻭﻱ ﺍﻟﺘﺎﻟﻲ:
ﻃﺒﻖّﻓﻬﻤﻚ ﻟﻠﺮﻣﻮﺯ ﻭﺍﻟﺘﺴﻠﺴﻼﺕ ﺍﻟﻔﺮﻋﻴﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻓﻌﻠﻴﺎً ﻹﻋﺎﺩﺓ -
ﺍﺣﺴﺐﺍﻟﻔﺮﻭﻗﺎﺕ ﺑﻴﻦ ﺍﻟﻘﻴﻢ ﺍﻟﻤﺘﺘﺎﻟﻴﺔ .ﺣﺘﻰ ﻟﻮ ﺑﺪﺕ ﻫﺬﻩ ﺍﻟﻔﺮﻭﻗﺎﺕ ﻋﺸﻮﺍﺉﻴﺔ ،ﻓﻘﺪ
ﺗﻜﻮﻥﻫﻨﺎﻙ ﻣﺠﻤﻮﻋﺔ ﺛﺎﺑﺘﺔ ﻣﻦ ﺍﻟﻔﺮﻭﻗﺎﺕ ﺍﻟﻤﻠﺤﻮﻇﺔ ،ﻣﻤﺎ ﻳﻀُﻴﻖّ ﻧﻄﺎﻕ ﺃﻱ ﻫﺠﻮﻡ
ﺑﺎﻟﻘﻮﺓﺍﻟﻐﺎﺷﻤﺔ ﺑﺸﻜﻞ ﻛﺒﻴﺮ.
ﺍﺣﺼﻞﻋﻠﻰ ﻋﻴﻨﺔ ﻣﻤﺎﺛﻠﺔ ﻣﻦ ﺍﻟﺮﻣﻮﺯ ﺑﻌﺪ ﺍﻻﻧﺘﻈﺎﺭ ﻟﺒﻀﻊ ﺩﻗﺎﺉﻖ ،ﻭﻛﺮﺭّ ﺍﻟﺘﺤﻠﻴﻞ ﻧﻔﺴﻪ. -
5.3.3ﺇﺫﺍ ﻻﺣﻈﺖ َﺃﻱ ﺃﻧﻤﺎﻁ ،ﻓﺎﻟﺘﻘﻂ ﻋﻴﻨﺔ ﺛﺎﻧﻴﺔ ﻣﻦ ﺍﻟﺮﻣﻮﺯ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻋﻨﻮﺍﻥ IPﻣﺨﺘﻠﻒ ﻭﺍﺳﻢ
ﻣﺴﺘﺨﺪﻡﻣﺨﺘﻠﻒ .ﺳﻴﺴﺎﻋﺪﻙ ﻫﺬﺍ ﻋﻠﻰ ﺗﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻗﺪ ﺗﻢ ﺭﺻﺪ ﺍﻟﻨﻤﻂ ﻧﻔﺴﻪ ،ﻭﻣﺎ
ﺇﺫﺍﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺍﺳﺘﻘﺮﺍء ﺍﻟﺮﻣﻮﺯ ﺍﻟﻤﺴﺘﻠﻤﺔ ﻓﻲ ﺍﻟﺘﻤﺮﻳﻦ ﺍﻷﻭﻝ ﻟﺘﺨﻤﻴﻦ ﺍﻟﺮﻣﻮﺯ
ﺍﻟﻤﺴﺘﻠﻤﺔﻓﻲ ﺍﻟﺘﻤﺮﻳﻦ ﺍﻟﺜﺎﻧﻲ.
5.3.4ﺇﺫﺍ ﺗﻤﻜﻨﺖ ﻣﻦ ﺗﺤﺪﻳﺪ ﺃﻱ ﺗﺴﻠﺴﻼﺕ ﻗﺎﺑﻠﺔ ﻟﻼﺳﺘﻐﻼﻝ ﺃﻭ ﺗﺒﻌﻴﺎﺕ ﺯﻣﻨﻴﺔ ،ﻓﻔﻜﺮّ ﻓﻴﻤﺎ ﺇﺫﺍ
ﻛﺎﻥﺫﻟﻚ ﻛﺎﻓﻴﺎً ﻟﺸﻦ ﻫﺠﻮﻡ ﻳﺤﺎﻭﻝ ﺗﺨﻤﻴﻦ ﺍﻟﺮﻣﻮﺯ ﺍﻟﻤﺼُﺪﺭﺓ ﻣﺆﺧﺮﺍً ﻟﻤﺴﺘﺨﺪﻣﻲ ﺗﻄﺒﻴﻘﺎﺕ
ﺁﺧﺮﻳﻦ.ﺍﺳﺘﺨﺪﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ 14ﻷﺗﻤﺘﺔ ﻣﻬﻤﺔ ﺗﻮﻟﻴﺪ ﺍﻟﺮﻣﻮﺯ ﺍﻟﻤﺤُﺘﻤﻠﺔ
ﻭﺍﺧﺘﺒﺎﺭﻫﺎ.ﺑﺎﺳﺘﺜﻨﺎء ﺃﺑﺴﻂ ﺃﻧﻮﺍﻉ ﺍﻟﺘﺴﻠﺴﻼﺕ،
٥.٣.٥ﺇﺫﺍ ﺑﺪﺍ ﺃﻥ ﻣﻌُﺮﻑِّ ﺍﻟﺠﻠﺴﺔ ﻣﻌُﺪَﻝَّ ﺧﺼﻴﺼﺎً ،ﻓﺎﺳﺘﺨﺪﻡ ﻣﺼﺪﺭ ﺣﻤﻮﻟﺔ " "bit flipperﻓﻲ
Burp Intruderﻟﺘﻌﺪﻳﻞ ﻛﻞ ﺑﺖ ﻓﻲ ﺭﻣﺰ ﺍﻟﺠﻠﺴﺔ ﺑﺎﻟﺘﺴﻠﺴﻞ .ﺍﺑﺤﺚ ﻋﻦ ﺳﻠﺴﻠﺔ ﻧﺼﻴﺔ
ﻓﻲﺍﻻﺳﺘﺠﺎﺑﺔ ﺗﺸُﻴﺮ ﺇﻟﻰ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺗﻌﺪﻳﻞ ﺍﻟﺮﻣﺰ ﻟﻢ ﻳﺆُﺩ ِّﺇﻟﻰ ﺟﻠﺴﺔ ﻏﻴﺮ ﺻﺎﻟﺤﺔ ،ﻭﻣﺎ ﺇﺫﺍ
ﻛﺎﻧﺖﺍﻟﺠﻠﺴﺔ ﺗﺎﺑﻌﺔ ﻟﻤﺴﺘﺨﺪﻡ ﺁﺧﺮ.
٥.٤.٣ﺗﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ،ﻓﻲ ﺍﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﺎﺩﻱ ﻟﻠﺘﻄﺒﻴﻖ ،ﻧﻘﻞ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ﻋﺒﺮ ﺍﺗﺼﺎﻝ
.HTTPﺇﺫﺍ ﻛﺎﻥ ﺍﻷﻣﺮ ﻛﺬﻟﻚ ،ﻓﻬﻲ ﻋﺮﺿﺔ ﻟﻼﻋﺘﺮﺍﺽ.
5.4.4ﻓﻲ ﺍﻟﺤﺎﻻﺕ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻡ ﻓﻴﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ HTTPﻟﻠﻤﻨﺎﻃﻖ ﻏﻴﺮ ﺍﻟﻤﺼﺎﺩﻕ ﻋﻠﻴﻬﺎ ﻭﻳﺘﺤﻮﻝ
ﺇﻟﻰ HTTPSﻟﺘﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ﻭ/ﺃﻭ ﺍﻟﻤﻨﺎﻃﻖ ﺍﻟﻤﺼﺎﺩﻕ ﻋﻠﻴﻬﺎ ﻟﻠﺘﻄﺒﻴﻖ ،ﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ
ﻛﺎﻥﻳﺘﻢ ﺇﺻﺪﺍﺭ ﺭﻣﺰ ﺟﺪﻳﺪ ﻟﺠﺰء HTTPSﻣﻦ ﺍﻻﺗﺼﺎﻻﺕ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺮﻣﺰ ﺍﻟﺬﻱ ﺗﻢ
ﺇﺻﺪﺍﺭﻩﺃﺛﻨﺎء ﻣﺮﺣﻠﺔ HTTPﻳﻈﻞ ﻧﺸﻄﺎً ﻋﻨﺪﻣﺎ ﻳﺘﺤﻮﻝ ﺍﻟﺘﻄﺒﻴﻖ ﺇﻟﻰ .HTTPS
ﺇﺫﺍﻇﻠﺖ ﺍﻟﺮﻣﺰ ﺍﻟﻤﻤﻴﺰ ﺍﻟﺬﻱ ﺗﻢ ﺇﺻﺪﺍﺭﻩ ﺃﺛﻨﺎء ﻣﺮﺣﻠﺔ HTTPﻧﺸﻄﺎً ،ﻓﺴﻴﻜﻮﻥ ﺍﻟﺮﻣﺰ ﺍﻟﻤﻤﻴﺰ
ﻋﺮﺿﺔﻟﻠﺘﻨﺼﺖ.
٥.٤.٥ﺇﺫﺍ ﻛﺎﻧﺖ ﻣﻨﻄﻘﺔ HTTPSﻓﻲ ﺍﻟﺘﻄﺒﻴﻖ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻱ ﺭﻭﺍﺑﻂ ﻟﻌﻨﺎﻭﻳﻦ ،URL HTTP
ﻓﺎﺗﺒﻌﻬﺎﻭﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺭﻣﺰ ﺍﻟﺠﻠﺴﺔ ﻗﺪ ﺗﻢ ﺇﺭﺳﺎﻟﻪ .ﺇﺫﺍ ﻛﺎﻥ ﻛﺬﻟﻚ ،ﻓﺤﺪﺩ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻻ
ﻳﺰﺍﻝﺻﺎﻟﺤﺎً ﺃﻡ ﺳﻴﺘﻢ ﺇﻧﻬﺎﺅﻩ ﻓﻮﺭﺍً ﻣﻦ ﻗﺒِﻞ ﺍﻟﺨﺎﺩﻡ.
5.5.2ﺣﺪﺩ ﺃﻱ ﺣﺎﻻﺕ ﺗﻨُﻘﻞ ﻓﻴﻬﺎ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ﺩﺍﺧﻞ ﻋﻨﻮﺍﻥ .URLﻗﺪ ﺗﻜﻮﻥ ﺍﻟﺮﻣﻮﺯ ﺗﻨُﻘﻞ ﻋﺎﺩﺓ ً
ﺑﻄﺮﻳﻘﺔﺃﻛﺜﺮ ﺃﻣﺎﻧﺎً ،ﻭﻟﻜﻦ ﻗﺪ ﻳﺴﺘﺨﺪﻡ ﺍﻟﻤﻄﻮﺭﻭﻥ ﻋﻨﻮﺍﻥ URLﻓﻲ ﺣﺎﻻﺕ ﻣﺤﺪﺩﺓ ﻟﺤﻞ
ﻣﺸﻜﻠﺔﻣﻌﻴﻨﺔ .ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ،ﻗﺪ ﺗﻨُﻘﻞ ﻫﺬﻩ ﺍﻟﺮﻣﻮﺯ ﺩﺍﺧﻞﺍﻟﻤﺤُﻴﻞﻋﻨﺪ ﻣﺘﺎﺑﻌﺔ
ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦﻷﻱ ﺭﻭﺍﺑﻂ ﺧﺎﺭﺟﻴﺔ .ﺗﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﺃﻱ ﻭﻇﻴﻔﺔ ﺗﻤُﻜﻨّﻚ ﻣﻦ ﺇﺩﺭﺍﺝ ﺭﻭﺍﺑﻂ
ﺧﺎﺭﺟﻴﺔﻋﺸﻮﺍﺉﻴﺔ ﻓﻲ ﺍﻟﺼﻔﺤﺎﺕ ﺍﻟﺘﻲ ﻳﺸﺎﻫﺪﻫﺎ ﻣﺴﺘﺨﺪﻣﻮﻥ ﺁﺧﺮﻭﻥ.
5.5.3ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻱ ﻃﺮﻳﻘﺔ ﻟﺠﻤﻊ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ﺍﻟﺼﺎﻟﺤﺔ ﺍﻟﺼﺎﺩﺭﺓ ﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺁﺧﺮﻳﻦ،
ﺍﺑﺤﺚﻋﻦ ﻃﺮﻳﻘﺔ ﻻﺧﺘﺒﺎﺭ ﻛﻞ ﺭﻣﺰ ﻟﺘﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﻨﺘﻤﻲ ﺇﻟﻰ ﻣﺴﺘﺨﺪﻡ ﺇﺩﺍﺭﻱ )ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ ،ﻋﻦ ﻃﺮﻳﻖ ﻣﺤﺎﻭﻟﺔ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻭﻇﻴﻔﺔ ﻣﻤﻴﺰﺓ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺮﻣﺰ(.
5.6.2ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ﻭﺍﻟﺨﺮﻭﺝ ﻋﺪﺓ ﻣﺮﺍﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺣﺴﺎﺏ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻧﻔﺴﻪ ،ﺳﻮﺍء ًﻣﻦ
ﻣﺘﺼﻔﺤﺎﺕﻣﺨﺘﻠﻔﺔ ﺃﻭ ﺃﺟﻬﺰﺓ ﻛﻤﺒﻴﻮﺗﺮ ﻣﺨﺘﻠﻔﺔ .ﺣﺪﺩّ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺇﺻﺪﺍﺭ ﺭﻣﺰ ﺟﻠﺴﺔ
ﺟﺪﻳﺪﻓﻲ ﻛﻞ ﻣﺮﺓ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﺘﻢ ﺇﺻﺪﺍﺭ ﺍﻟﺮﻣﺰ ﻧﻔﺴﻪ ﻓﻲ ﻛﻞ ﻣﺮﺓ ﻳﺘﻢ ﻓﻴﻬﺎ ﺗﺴﺠﻴﻞ
ﺩﺧﻮﻝﺍﻟﺤﺴﺎﺏ ﻧﻔﺴﻪ .ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ،ﻻ ﻳﺴﺘﺨﺪﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺭﻣﻮﺯ ﺟﻠﺴﺔ ﺻﺤﻴﺤﺔ ،ﺑﻞ
ﻳﺴﺘﺨﺪﻡﺳﻼﺳﻞ ﻓﺮﻳﺪﺓ ﻭﻣﺴﺘﻤﺮﺓ ﻹﻋﺎﺩﺓ ﺗﻌﺮﻳﻒ ﻛﻞ ﻣﺴﺘﺨﺪﻡ .ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ،ﻻ ﺗﻮﺟﺪ
ﻃﺮﻳﻘﺔﻟﻠﺤﻤﺎﻳﺔ ﻣﻦ ﻋﻤﻠﻴﺎﺕ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ﺍﻟﻤﺘﺰﺍﻣﻨﺔ ﺃﻭ ﺗﻄﺒﻴﻖ ﻣﻬﻠﺔ ﺍﻟﺠﻠﺴﺔ ﺑﺸﻜﻞ
ﺻﺤﻴﺢ.
٥.٦.٣ﺇﺫﺍ ﺑﺪﺍ ﺃﻥ ﺍﻟﺮﻣﻮﺯ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻱ ﺑﻨﻴﺔ ﺃﻭ ﻣﻌﻨﻰ ،ﻓﺤﺎﻭﻝ ﻓﺼﻞ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﺘﻲ ﻗﺪ ﺗﺤُﺪﺩ
ﻫﻮﻳﺔﺍﻟﻤﺴﺘﺨﺪﻡ ﻋﻦ ﺗﻠﻚ ﺍﻟﺘﻲ ﺗﺒﺪﻭ ﻏﺎﻣﻀﺔ .ﺣﺎﻭﻝ ﺗﻌﺪﻳﻞ ﺃﻱ ﻣﻜﻮﻧﺎﺕ ﻣﺘﻌﻠﻘﺔ
ﺑﺎﻟﻤﺴﺘﺨﺪﻡﻓﻲ ﺍﻟﺮﻣﺰ ﺑﺤﻴﺚ ﺗﺸﻴﺮ ﺇﻟﻰ ﻣﺴﺘﺨﺪﻣﻴﻦ ﺁﺧﺮﻳﻦ ﻣﻌﺮﻭﻓﻴﻦ ﻟﻠﺘﻄﺒﻴﻖ .ﺗﺤﻘﻖ
ﻣﻤﺎﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻘﺒﻞ ﺍﻟﺮﻣﺰ ﺍﻟﻨﺎﺗﺞ ﻭﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻳﻤُﻜﻨّﻚ ﻣﻦ ﺍﻧﺘﺤﺎﻝ ﺷﺨﺼﻴﺔ ﺫﻟﻚ
ﺍﻟﻤﺴﺘﺨﺪﻡ.ﺭﺍﺟﻊ ﺍﻟﻔﺼﻞ ٧ﻟﻼﻃﻼﻉ ﻋﻠﻰ ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ
ﺍﻟﺪﻗﻴﻘﺔ.
5.7.2ﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻧﺘﻬﺎء ﺻﻼﺣﻴﺔ ﺍﻟﺠﻠﺴﺔ ﻗﺪ ﺗﻢ ﺗﻨﻔﻴﺬﻩ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ:
ﻗﻢﺑﺘﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ﺇﻟﻰ ﺍﻟﺘﻄﺒﻴﻖ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺭﻣﺰ ﺟﻠﺴﺔ ﺻﺎﻟﺢ. -
ﺍﻧﺘﻈﺮﻓﺘﺮﺓ ﺯﻣﻨﻴﺔ ﺩﻭﻥ ﺍﺳﺘﺨﺪﺍﻡ ﻫﺬﺍ ﺍﻟﺮﻣﺰ ،ﺛﻢ ﻗﻢ ﺑﺈﺭﺳﺎﻝ ﻃﻠﺐ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺻﻔﺤﺔ -
ﺍﺳﺘﺨﺪﻡﺃﺳﻠﻮﺏ ﺍﻟﺘﺠﺮﺑﺔ ﻭﺍﻟﺨﻄﺄ ﻟﺘﺤﺪﻳﺪ ﻣﺪﺓ ﺍﻧﺘﻬﺎء ﺻﻼﺣﻴﺔ ﺃﻱ ﺟﻠﺴﺔ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ -
ﺍﻟﺮﻣﺰﻻ ﻳﺰﺍﻝ ﺻﺎﻟﺤﺎً ﻟﻼﺳﺘﺨﺪﺍﻡ ﺑﻌﺪ ﺃﻳﺎﻡ ﻣﻦ ﺍﻟﻄﻠﺐ ﺍﻟﺴﺎﺑﻖ ﺍﻟﺬﻱ ﺍﺳﺘﺨﺪﻣﻪ .ﻳﻤﻜﻦ
ﺗﻬﻴﺉﺔ Burp Intruderﻟﺰﻳﺎﺩﺓ ﺍﻟﻔﺎﺻﻞ ﺍﻟﺰﻣﻨﻲ ﺑﻴﻦ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﻤﺘﺘﺎﻟﻴﺔ ﻷﺗﻤﺘﺔ ﻫﺬﻩ
ﺍﻟﻤﻬﻤﺔ.
٥.٧.٣ﺗﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﻭﻇﻴﻔﺔ ﺗﺴﺠﻴﻞ ﺍﻟﺨﺮﻭﺝ .ﺇﺫﺍ ﻛﺎﻧﺖ ﻣﻮﺟﻮﺩﺓ ،ﻓﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺗﺒُﻄﻞ
ﺟﻠﺴﺔﺍﻟﻤﺴﺘﺨﺪﻡ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ .ﺑﻌﺪ ﺗﺴﺠﻴﻞ ﺍﻟﺨﺮﻭﺝ ،ﺣﺎﻭﻝ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺮﻣﺰ ﺍﻟﻘﺪﻳﻢ،
ﻭﺗﺄﻛﺪﻣﻦ ﺃﻧﻪ ﻻ ﻳﺰﺍﻝ ﺻﺎﻟﺤﺎً ﻣﻦ ﺧﻼﻝ ﻃﻠﺐ ﺻﻔﺤﺔ ﻣﺤﻤﻴﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺮﻣﺰ .ﺇﺫﺍ ﻛﺎﻧﺖ
ﺍﻟﺠﻠﺴﺔﻻ ﺗﺰﺍﻝ ﻧﺸﻄﺔ ،ﻓﺴﻴﻈﻞ ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥ ﻋﺮﺿﺔ ﻟﺒﻌﺾ ﻫﺠﻤﺎﺕ ﺍﺧﺘﻄﺎﻑ
ﺍﻟﺠﻠﺴﺎﺕﺣﺘﻰ ﺑﻌﺪ ﺗﺴﺠﻴﻞ ﺧﺮﻭﺟﻬﻢ .ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ Burp Repeaterﻟﻤﻮﺍﺻﻠﺔ
ﺇﺭﺳﺎﻝﻃﻠﺐ ﻣﺤﺪﺩ ﻣﻦ ﺳﺠﻞ ﺍﻟﻮﻛﻴﻞ ﻟﻤﻌﺮﻓﺔ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺠﻴﺐ ﺑﺸﻜﻞ
ﻣﺨﺘﻠﻒﺑﻌﺪ ﺗﺴﺠﻴﻞ ﺍﻟﺨﺮﻭﺝ.
٥.٨.٣ﺣﺪﺩ ﺻﻴﻐﺔ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ .ﻋﺪﻝّ ﺭﻣﺰﻙ ﺇﻟﻰ ﻗﻴﻤﺔ ﻣﺒُﺘﻜﺮﺓ
ﺻﺤﻴﺤﺔ،ﻭﺣﺎﻭﻝ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ .ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﻤﺢ ﻟﻚ ﺑﺈﻧﺸﺎء ﺟﻠﺴﺔ ﻣﺼُﺎﺩﻕ
ﻋﻠﻴﻬﺎﺑﺎﺳﺘﺨﺪﺍﻡ ﺭﻣﺰ ﻣﺒُﺘﻜﺮ ،ﻓﺴﻴﻜﻮﻥ ﻋﺮُﺿﺔ ﻟﺘﺜﺒﻴﺖ ﺍﻟﺠﻠﺴﺔ.
٥.٨.٤ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻻ ﻳﺪﻋﻢ ﺗﺴﺠﻴﻞ ﺍﻟﺪﺧﻮﻝ ،ﻭﻟﻜﻨﻪ ﻳﻌﺎﻟﺞ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺤﺴﺎﺳﺔ )
ﻣﺜﻞﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺨﺼﻴﺔ ﻭﺗﻔﺎﺻﻴﻞ ﺍﻟﺪﻓﻊ( ﻭﻳﺴﻤﺢ ﺑﻌﺮﺿﻬﺎ ﺑﻌﺪ ﺍﻹﺭﺳﺎﻝ )ﻣﺜﻞ ﺻﻔﺤﺔ "
ﺍﻟﺘﺤﻘﻖﻣﻦ ﻃﻠﺒﻲ"( ،ﻓﻘﻢ ﺑﺈﺟﺮﺍء ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﺜﻼﺛﺔ ﺍﻟﺴﺎﺑﻘﺔ ﻋﻠﻰ ﺍﻟﺼﻔﺤﺎﺕ ﺍﻟﺘﻲ ﺗﻌﺮﺽ
ﺍﻟﺒﻴﺎﻧﺎﺕﺍﻟﺤﺴﺎﺳﺔ .ﺇﺫﺍ ﺃﻣﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺭﻣﺰ ﻣﻤﻴﺰ ﺗﻢ ﺿﺒﻄﻪ ﺃﺛﻨﺎء ﺍﻻﺳﺘﺨﺪﺍﻡ ﺍﻟﻤﺠﻬﻮﻝ
ﻟﻠﺘﻄﺒﻴﻖﻻﺣﻘﺎً ﻻﺳﺘﺮﺟﺎﻉ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺤﺴﺎﺳﺔ ،ﻓﺴﻴﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻋﺮﺿﺔ
ﻟﺘﺜﺒﻴﺖﺍﻟﺠﻠﺴﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 820
5.9ﺍﻟﺘﺤﻘﻖ ﻣﻦ CSRF
5.9.1ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻌﺘﻤﺪ ﻓﻘﻂ ﻋﻠﻰ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ HTTPﻛﻄﺮﻳﻘﺔ ﻟﻨﻘﻞ ﺭﻣﻮﺯ
ﺍﻟﺠﻠﺴﺔ،ﻓﻘﺪ ﻳﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻬﺠﻤﺎﺕ ﺗﺰﻭﻳﺮ ﺍﻟﻄﻠﺒﺎﺕ ﻋﺒﺮ ﺍﻟﻤﻮﺍﻗﻊ.
٥.٩.٢ﺭﺍﺟﻊ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﺮﺉﻴﺴﻴﺔ ﻟﻠﺘﻄﺒﻴﻖ ،ﻭﺣﺪﺩ ﺍﻟﻄﻠﺒﺎﺕ ﺍﻟﻤﺤُﺪﺩﺓ ﺍﻟﻤﺴُﺘﺨﺪﻣﺔ ﻟﺘﻨﻔﻴﺬ ﺇﺟﺮﺍءﺍﺕ
ﺣﺴﺎﺳﺔ.ﺇﺫﺍ ﺍﺳﺘﻄﺎﻉ ﺍﻟﻤﻬُﺎﺟﻢ ﺗﺤﺪﻳﺪ ﻣﻌُﺎﻣﻼﺕ ﺃﻱ ٍّﻣﻦ ﻫﺬﻩ ﺍﻟﻄﻠﺒﺎﺕ ﻣﺴُﺒﻘﺎً )ﺃﻱ ﺃﻧﻬﺎ ﻻ
ﺗﺤﺘﻮﻱﻋﻠﻰ ﺃﻱ ﺭﻣﻮﺯ ﺟﻠﺴﺔ ،ﺃﻭ ﺑﻴﺎﻧﺎﺕ ﻏﻴﺮ ﻣﺘُﻮﻗﻌﺔ ،ﺃﻭ ﺃﺳﺮﺍﺭ ﺃﺧﺮﻯ( ،ﻓﻤﻦ ﺍﻟﻤﺮُﺟﺢ ﺃﻥ
ﻳﻜﻮﻥﺍﻟﺘﻄﺒﻴﻖ ﻋﺮُﺿﺔ ﻟﻠﺨﻄﺮ.
٥.٩.٤ﺇﺫﺍ ﺍﺳﺘﺨﺪﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺭﻣﻮﺯﺍً ﺇﺿﺎﻓﻴﺔ ﺿﻤﻦ ﺍﻟﻄﻠﺒﺎﺕ ﻓﻲ ﻣﺤﺎﻭﻟﺔ ﻟﻤﻨﻊ ﻫﺠﻤﺎﺕ ،CSRF
ﻓﺎﺧﺘﺒﺮﻣﺘﺎﻧﺔ ﻫﺬﻩ ﺍﻟﺮﻣﻮﺯ ﺑﻨﻔﺲ ﻃﺮﻳﻘﺔ ﺍﺧﺘﺒﺎﺭ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ .ﻛﺬﻟﻚ ،ﺍﺧﺘﺒﺮ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ
ﺍﻟﺘﻄﺒﻴﻖﻋﺮﺿﺔ ﻟﻬﺠﻤﺎﺕ ﺗﺼﺤﻴﺢ ﻭﺍﺟﻬﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ،ﻭﺫﻟﻚ ﻟﺘﺠﺎﻭﺯ ﺩﻓﺎﻋﺎﺕ ) CSRFﺍﻧﻈﺮ
ﺍﻟﻔﺼﻞ ١٣ﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﺘﻔﺎﺻﻴﻞ(.
5.10.1ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﺘﺨﺪﻡ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ HTTPﻟﻨﻘﻞ ﺭﻣﻮﺯ ﺍﻟﺠﻠﺴﺔ )ﺃﻭ ﺃﻱ ﺑﻴﺎﻧﺎﺕ
ﺣﺴﺎﺳﺔﺃﺧﺮﻯ( ،ﻓﺮﺍﺟﻊ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺫﺍﺕ ﺍﻟﺼﻠﺔﻣﺠﻤﻮﻋﺔ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ
ﺍﻟﻌﻨﺎﻭﻳﻦ،ﻭﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺃﻱ ﺳﻤﺎﺕ ﻣﺠﺎﻝ ﺃﻭ ﻣﺴﺎﺭ ﺗﺴﺘﺨﺪﻡ ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﻧﻄﺎﻕ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ
ﺍﻻﺭﺗﺒﺎﻁ.
5.10.2ﺇﺫﺍ ﻗﺎﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺘﺤﺮﻳﺮ ﻧﻄﺎﻕ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﺨﺎﺻﺔ ﺑﻪ ﺑﺸﻜﻞ ﺻﺮﻳﺢ ﺇﻟﻰ
ﺍﻟﻤﺠﺎﻝﺍﻟﺮﺉﻴﺴﻲ ﺃﻭ ﺍﻟﺪﻟﻴﻞ ﺍﻟﺮﺉﻴﺴﻲ ،ﻓﻘﺪ ﻳﺘﺮﻙ ﻧﻔﺴﻪ ﻋﺮﺿﺔ ﻟﻠﻬﺠﻤﺎﺕ ﻋﺒﺮ ﺗﻄﺒﻴﻘﺎﺕ
ﺍﻟﻮﻳﺐﺍﻷﺧﺮﻯ ﺍﻟﻤﺴﺘﻀﺎﻓﺔ ﺩﺍﺧﻞ ﺍﻟﻤﺠﺎﻝ ﺍﻟﺮﺉﻴﺴﻲ ﺃﻭ ﺍﻟﺪﻟﻴﻞ.
5.10.3ﺇﺫﺍ ﻋﻴﻦّ ﺍﻟﺘﻄﺒﻴﻖ ﻧﻄﺎﻕ ﻧﻄﺎﻕ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﺨﺎﺹ ﺑﻪ ﺇﻟﻰ ﺍﺳﻢ ﻧﻄﺎﻗﻪ ﺍﻟﺨﺎﺹ )
ﺃﻭﻟﻢ ﻳﺤُﺪﺩ ﺳﻤﺔ ﻧﻄﺎﻕ( ،ﻓﻘﺪ ﻳﻈﻞ ﻋﺮُﺿﺔ ًﻟﻠﻬﺠﻤﺎﺕ ﻣﻦ ﺧﻼﻝ ﺃﻱ ﺗﻄﺒﻴﻘﺎﺕ ﻣﺴُﺘﻀﺎﻓﺔ
ﻋﻠﻰﻧﻄﺎﻗﺎﺕ ﻓﺮﻋﻴﺔ .ﻫﺬﺍ ﻧﺘﻴﺠﺔ ﻵﻟﻴﺔ ﻋﻤﻞ ﻧﻄﺎﻕ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ .ﻻ ﻳﻤُﻜﻦ
ﺗﺠﻨﺐّﺫﻟﻚ ﺇﻻ ﺑﻌﺪﻡ ﺍﺳﺘﻀﺎﻓﺔ ﺃﻱ ﺗﻄﺒﻴﻘﺎﺕ ﺃﺧﺮﻯ ﻋﻠﻰ ﻧﻄﺎﻕ ﻓﺮﻋﻲ ﻟﺘﻄﺒﻴﻖ ﺫﻱ
ﺣﺴﺎﺳﻴﺔﺃﻣﻨﻴﺔ.
821 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
5.10.5ﺣﺪﺩ ﺟﻤﻴﻊ ﺃﺳﻤﺎء ﺍﻟﻨﻄﺎﻗﺎﺕ ﻭﺍﻟﻤﺴﺎﺭﺍﺕ ﺍﻟﻤﺤﺘﻤﻠﺔ ﺍﻟﺘﻲ ﺳﺘﺴﺘﻘﺒﻞ ﻣﻠﻔﺎﺕ ﺗﻌﺮﻳﻒ
ﺍﻻﺭﺗﺒﺎﻁﺍﻟﺘﻲ ﻳﺼُﺪﺭﻫﺎ ﺍﻟﺘﻄﺒﻴﻖ .ﺗﺄﻛﺪ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺃﻱ ﺗﻄﺒﻴﻘﺎﺕ ﻭﻳﺐ ﺃﺧﺮﻯ ﻣﺘﺎﺣﺔ ﻋﺒﺮ
ﺃﺳﻤﺎءﺍﻟﻨﻄﺎﻗﺎﺕ ﺃﻭ ﺍﻟﻤﺴﺎﺭﺍﺕ ﻫﺬﻩ ،ﻭﺍﻟﺘﻲ ﻗﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻻﻟﺘﻘﺎﻁ ﻣﻠﻔﺎﺕ
ﺗﻌﺮﻳﻒﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﺼﺎﺩﺭﺓ ﻟﻤﺴﺘﺨﺪﻣﻲ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﻤﺴﺘﻬﺪﻑ.
.6.4ﺍﺧﺘﺒﺎﺭ ﻟـ
.6.1ﻓﻬﻢ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ
ﻃﺮﻕﻏﻴﺮ ﺁﻣﻨﺔ
٦.١.٣ﻹﺟﺮﺍء ﺍﺧﺘﺒﺎﺭﺍﺕ ﺃﻛﺜﺮ ﻓﻌﺎﻟﻴﺔ ﻟﺜﻐﺮﺍﺕ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ،ﻳﻔُﻀﻞّ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﻋﺪﺩ ﻣﻦ
ﺍﻟﺤﺴﺎﺑﺎﺕﺍﻟﻤﺨﺘﻠﻔﺔ ﺑﺼﻼﺣﻴﺎﺕ ﺭﺃﺳﻴﺔ ﻭﺃﻓﻘﻴﺔ ﻣﺨﺘﻠﻔﺔ .ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﺴﺠﻴﻞ ﺍﻟﺬﺍﺗﻲ ﻣﻤﻜﻨﺎً،
ﻓﻴﻤﻜﻨﻚﻋﻠﻰ ﺍﻷﺭﺟﺢ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﺍﻷﺧﻴﺮﺓ ﻣﺒﺎﺷﺮﺓ ًﻣﻦ ﺍﻟﺘﻄﺒﻴﻖ .ﺃﻣﺎ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ
ﺍﻷﻭﻟﻰ،ﻓﺴﺘﺤﺘﺎﺝ ﻋﻠﻰ ﺍﻷﺭﺟﺢ ﺇﻟﻰ ﺗﻌﺎﻭﻥ ﻣﺎﻟﻚ ﺍﻟﺘﻄﺒﻴﻖ )ﺃﻭ ﺳﺘﺤﺘﺎﺝ ﺇﻟﻰ ﺍﺳﺘﻐﻼﻝ ﺛﻐﺮﺓ
ﺃﻣﻨﻴﺔﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺣﺴﺎﺏ ﺫﻱ ﺻﻼﺣﻴﺎﺕ ﻋﺎﻟﻴﺔ( .ﺳﻴﺆﺛﺮ ﺗﻮﺍﻓﺮ ﺃﻧﻮﺍﻉ ﻣﺨﺘﻠﻔﺔ ﻣﻦ
ﺍﻟﺤﺴﺎﺑﺎﺕﻋﻠﻰ ﺃﻧﻮﺍﻉ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﺘﻲ ﻳﻤﻜﻨﻚ ﺇﺟﺮﺍﺅﻫﺎ ،ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻻﺣﻘﺎً.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 822
6.2.2ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻔﺮﺽ ﻓﺼﻼً ﺃﻓﻘﻴﺎً ﻟﻠﺼﻼﺣﻴﺎﺕ ،ﻓﻘﻢ ﺑﺈﺟﺮﺍء ﺍﻻﺧﺘﺒﺎﺭ ﺍﻟﻤﻜﺎﻓﺊ ﺑﺎﺳﺘﺨﺪﺍﻡ
ﺣﺴﺎﺑﻴﻦﻣﺨﺘﻠﻔﻴﻦ ﺑﻨﻔﺲ ﻣﺴﺘﻮﻯ ﺍﻟﺼﻼﺣﻴﺎﺕ ،ﻣﺤﺎﻭﻻً ﺍﺳﺘﺨﺪﺍﻡ ﺃﺣﺪﻫﻤﺎ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ
ﺑﻴﺎﻧﺎﺕﺍﻟﺤﺴﺎﺏ ﺍﻵﺧﺮ .ﻳﺘﻀﻤﻦ ﻫﺬﺍ ﻋﺎﺩﺓ ًﺍﺳﺘﺒﺪﺍﻝ ﻣﻌُﺮﻑّ )ﻣﺜﻞ ﻣﻌُﺮﻑّ ﻣﺴﺘﻨﺪ( ﺿﻤﻦ
ﻃﻠﺐﻟﺘﺤﺪﻳﺪ ﻣﻮﺭﺩ ﻳﺨﺺ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻵﺧﺮ.
٦.٢.٤ﻋﻨﺪ ﺇﺟﺮﺍء ﺃﻱ ﻧﻮﻉ ﻣﻦ ﺍﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ،ﺗﺄﻛﺪ ﻣﻦ ﺍﺧﺘﺒﺎﺭ ﻛﻞ ﺧﻄﻮﺓ ﻣﻦ
ﺧﻄﻮﺍﺕﺍﻟﻮﻇﺎﺉﻒ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻤﺮﺍﺣﻞ ﻋﻠﻰ ﺣﺪﺓ ﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺻﺤﺔ ﺗﻨﻔﻴﺬ ﺿﻮﺍﺑﻂ ﺍﻟﻮﺻﻮﻝ
ﻓﻲﻛﻞ ﻣﺮﺣﻠﺔ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻔﺘﺮﺽ ﺃﻥ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﺬﻳﻦ ﻳﺼﻠﻮﻥ ﺇﻟﻰ ﻣﺮﺣﻠﺔ
ﻻﺣﻘﺔﻳﺠﺐ ﺃﻥ ﻳﺠﺘﺎﺯﻭﺍ ﻓﺤﻮﺻﺎﺕ ﺍﻷﻣﺎﻥ ﺍﻟﻤﻄﺒﻘﺔ ﻓﻲ ﺍﻟﻤﺮﺍﺣﻞ ﺍﻟﺴﺎﺑﻘﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ،ﺇﺫﺍ ﻛﺎﻧﺖ ﺻﻔﺤﺔ ﺇﺩﺍﺭﻳﺔ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻧﻤﻮﺫﺝ ﻣﺤﻤﻴﺔ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ،ﻓﺘﺄﻛﺪ ﻣﻦ ﺃﻥ
ﻋﻤﻠﻴﺔﺇﺭﺳﺎﻝ ﺍﻟﻨﻤﻮﺫﺝ ﺗﺨﻀﻊ ﺃﻳﻀﺎً ﻟﻀﻮﺍﺑﻂ ﻭﺻﻮﻝ ﺳﻠﻴﻤﺔ.
٦.٣.٢ﻓﻲ ﺗﻤﺎﺭﻳﻦ ﺗﻌﻴﻴﻦ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻡ ﺣﺴﺎﺑﺎﺕ ﺫﺍﺕ ﺻﻼﺣﻴﺎﺕ ﻣﺤﺪﻭﺩﺓ ،ﺭﺑﻤﺎ ﺗﻜﻮﻥ
ﻗﺪﺣﺪﺩﺕ ﻋﻨﺎﻭﻳﻦ URLﻟﻠﻮﻇﺎﺉﻒ ﺫﺍﺕ ﺍﻟﺼﻼﺣﻴﺎﺕ ﺍﻟﻤﺤﺪﻭﺩﺓ ،ﻣﺜﻞ ﻭﺍﺟﻬﺎﺕ ﺍﻹﺩﺍﺭﺓ.
ﺇﺫﺍﻟﻢ ﺗﻜﻦ ﻫﺬﻩ ﺍﻟﻌﻨﺎﻭﻳﻦ ﻣﺤﻤﻴﺔ ﺑﺸﻜﻞ ﻛﺎﻑ ٍ،ﻓﻤﻦ ﺍﻟﻤﺮﺟﺢ ﺃﻧﻚ ﻋﻠﻰ ﺩﺭﺍﻳﺔ ﺑﺬﻟﻚ.
6.3.3ﻗﻢ ﺑﻔﻚ ﺗﺠﻤﻴﻊ ﻛﻞ ﺍﻟﻌﻤﻼء ﺍﻟﻤﺠﻤﻌّﻴﻦ ﺍﻟﻤﻮﺟﻮﺩﻳﻦ ،ﻭﺍﺳﺘﺨﺮﺍﺝ ﺃﻱ ﻣﺮﺍﺟﻊ ﺇﻟﻰ ﻭﻇﺎﺉﻒ
ﺟﺎﻧﺐﺍﻟﺨﺎﺩﻡ.
٦.٣.٤ﻳﺘﻢ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻣﻌﻈﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺨﺎﺿﻌﺔ ﻟﻀﻮﺍﺑﻂ ﺍﻟﻮﺻﻮﻝ ﺍﻷﻓﻘﻴﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﻌُﺮﻑّ،
ﻣﺜﻞﺭﻗﻢ ﺍﻟﺤﺴﺎﺏ ﺃﻭ ﻣﺮﺟﻊ ﺍﻟﻄﻠﺐ .ﻻﺧﺘﺒﺎﺭ ﻓﻌﺎﻟﻴﺔ ﺿﻮﺍﺑﻂ ﺍﻟﻮﺻﻮﻝ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺣﺴﺎﺏ
ﻭﺍﺣﺪﻓﻘﻂ ،ﻳﺠﺐ ﻋﻠﻴﻚ ﻣﺤﺎﻭﻟﺔ ﺗﺨﻤﻴﻦ ﺃﻭ ﺍﻛﺘﺸﺎﻑ ﺍﻟﻤﻌُﺮﻓّﺎﺕ ﺍﻟﻤﺮﺗﺒﻄﺔ ﺑﺒﻴﺎﻧﺎﺕ
ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦﺍﻵﺧﺮﻳﻦ .ﺇﻥ ﺃﻣﻜﻦ ،ﺃﻧﺸﺊ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﻟﻤﻌُﺮﻓّﺎﺕ ﺑﺘﺘﺎﺑﻊ ﺳﺮﻳﻊ )ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ،ﻋﻦ ﻃﺮﻳﻖ ﺇﻧﺸﺎء ﻋﺪﺓ ﻃﻠﺒﺎﺕ ﺟﺪﻳﺪﺓ( .ﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﺃﻱ ﺃﻧﻤﺎﻁ ﻗﺪ ﺗﻤُﻜﻨّﻚ ﻣﻦ
ﺍﻟﺘﻨﺒﺆﺑﺎﻟﻤﻌُﺮﻓّﺎﺕ ﺍﻟﻤﺼُﺪﺭﺓ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻵﺧﺮﻳﻦ .ﺇﺫﺍ ﻟﻢ ﺗﻜﻦ ﻫﻨﺎﻙ ﻃﺮﻳﻘﺔ ﻹﻧﺸﺎء
ﻣﻌُﺮﻓّﺎﺕﺟﺪﻳﺪﺓ ،ﻓﻐﺎﻟﺒﺎً ﻣﺎ ﺳﺘﻘﺘﺼﺮ ﻋﻠﻰ ﺗﺤﻠﻴﻞ ﺍﻟﻤﻌُﺮﻓّﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻟﺪﻳﻚ ﻭﺍﻟﺘﺨﻤﻴﻦ
ﺑﻨﺎء ًﻋﻠﻴﻬﺎ.
٦.٣.٥ﺇﺫﺍ ﻭﺟﺪﺕ َﻃﺮﻳﻘﺔ ًﻟﻠﺘﻨﺒﺆ ﺑﺎﻟﻤﻌﺮﻓﺎﺕ ﺍﻟﻤﺮُﺳﻠﺔ ﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺁﺧﺮﻳﻦ ،ﻓﺎﺳﺘﺨﺪﻡ ﺍﻟﺘﻘﻨﻴﺎﺕ
ﺍﻟﻤﻮﺿﺤﺔﻓﻲ ﺍﻟﻔﺼﻞ ١٤ﻟﺸﻦ ّﻫﺠﻮﻡ ﺁﻟﻲ ﻟﺠﻤﻊ ﺑﻴﺎﻧﺎﺕ ﻣﻬﻤﺔ ﺗﺨﺺ ﻣﺴﺘﺨﺪﻣﻴﻦ ﺁﺧﺮﻳﻦ.
ﺍﺳﺘﺨﺪﻡﻭﻇﻴﻔﺔ Extract Grepﻓﻲ Burp Intruderﻻﻟﺘﻘﺎﻁ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺫﺍﺕ ﺍﻟﺼﻠﺔ
ﻣﻦﺩﺍﺧﻞ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ.
6.4.3ﺇﺫﺍﺭﺃﺱﻃﺮﻳﻘﺔ ﻣﺴﻤﻮﺡ ﺑﻬﺎ ﻋﻠﻰ ﺍﻟﻤﻮﻗﻊ ،ﻻﺧﺘﺒﺎﺭ ﺍﻟﺘﺤﻜﻢ ﻏﻴﺮ ﺍﻵﻣﻦ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻋﻨﺎﻭﻳﻦ
URLﺑﻮﺍﺳﻄﺔ ﺍﻟﺤﺎﻭﻳﺎﺕ .ﺃﺭﺳﻞ ﻃﻠﺒﺎً ﺑﺎﺳﺘﺨﺪﺍﻡﺭﺃﺱﻃﺮﻳﻘﺔ ﻟﺘﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ
ﻳﺴﻤﺢﺑﺬﻟﻚ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 824
ﻭ7.3. XSS
.7.6ﺍﻟﻨﺺ
.7.4ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ
.7.7ﺍﻟﻤﻠﻒ .7.5ﺍﻟﻤﺴﺎﺭ
ﻳﺄﻣﺮ
.7.2ﺇﺱ ﻛﻴﻮ ﺇﻝ
ﺇﺟﺎﺑﺔ
ﺍﻹﺩﻣﺎﺝ ﺣﻘﻦ ﻋﺒﻮﺭ ﺣﻘﻦ
ﺣﻘﻦ ﺣﻘﻦ
ﺍﻟﻌﻨﺎﻭﻳﻦ.
7.1.2ﻟﺘﺸﻮﻳﺶ ﺍﻟﻤﻌﻠﻤﺎﺕ ،ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻧﺼﻮﺻﻚ ﺍﻟﺒﺮﻣﺠﻴﺔ ﺍﻟﺨﺎﺻﺔ ﺃﻭ ﺃﺩﺍﺓ ﺗﺸﻮﻳﺶ
ﺟﺎﻫﺰﺓ.ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻻﺳﺘﺨﺪﺍﻡ ،Burp Intruderﺣﻤﻞّ ﻛﻞ ﻃﻠﺐ ﻋﻠﻰ ﺣﺪﺓ ﺇﻟﻰ
ﺍﻷﺩﺍﺓ.ﺇﺣﺪﻯ ﺍﻟﻄﺮﻕ ﺍﻟﺴﻬﻠﺔ ﻟﻠﻘﻴﺎﻡ ﺑﺬﻟﻚ ﻫﻲ ﺍﻋﺘﺮﺍﺽ ﻃﻠﺐ ﻓﻲ Burp Proxyﻭﺍﺧﺘﻴﺎﺭ "
ﺇﺭﺳﺎﻝﺇﻟﻰ ﺍﻟﻤﺘﻄﻔﻞ" ،ﺃﻭ ﺍﻟﻨﻘﺮ ﺑﺰﺭ ﺍﻟﻤﺎﻭﺱ ﺍﻷﻳﻤﻦ ﻋﻠﻰ ﻋﻨﺼﺮ ﻓﻲ ﺳﺠﻞ Burp Proxy
ﻭﺍﺧﺘﻴﺎﺭﻫﺬﺍ ﺍﻟﺨﻴﺎﺭ .ﻳﺆﺩﻱ ﺍﺳﺘﺨﺪﺍﻡ ﻫﺬﺍ ﺍﻟﺨﻴﺎﺭ ﺇﻟﻰ ﺗﻬﻴﺉﺔ Burp Intruderﺑﻤﺤﺘﻮﻳﺎﺕ
ﺍﻟﻄﻠﺐ،ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﻤﻀﻴﻒ ﻭﺍﻟﻤﻨﻔﺬ ﺍﻟﻤﺴﺘﻬﺪﻓﻴﻦ ﺍﻟﺼﺤﻴﺤﻴﻦ .ﻛﻤﺎ ﻳﺤُﺪﺩ ﺗﻠﻘﺎﺉﻴﺎً
ﻗﻴﻢﺟﻤﻴﻊ ﻣﻌﻠﻤﺎﺕ ﺍﻟﻄﻠﺐ ﻛﻤﻮﺍﻗﻊ ﺣﻤﻮﻟﺔ ،ﺟﺎﻫﺰﺓ ﻟﻠﺘﺸﻮﻳﺶ.
7.1.3ﺑﺎﺳﺘﺨﺪﺍﻡ ﻋﻼﻣﺔ ﺗﺒﻮﻳﺐ "ﺍﻟﺤﻤﻮﻻﺕ" ،ﻗﻢ ﺑﺘﻜﻮﻳﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻨﺎﺳﺒﺔ ﻣﻦ ﺣﻤﻮﻻﺕ ﺍﻟﻬﺠﻮﻡ
ﻟﻔﺤﺺﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﻓﻲ ﺍﻟﺘﻄﺒﻴﻖ .ﻳﻤﻜﻨﻚ ﺇﺩﺧﺎﻝ ﺍﻟﺤﻤﻮﻻﺕ ﻳﺪﻭﻳﺎً ،ﺃﻭ ﺗﺤﻤﻴﻠﻬﺎ ﻣﻦ
ﻣﻠﻒ،ﺃﻭ ﺍﺧﺘﻴﺎﺭ ﺇﺣﺪﻯ ﻗﻮﺍﺉﻢ ﺍﻟﺤﻤﻮﻻﺕ ﺍﻟﻤﻌُﺪﺓّ ﻣﺴﺒﻘﺎً .ﻋﺎﺩﺓ ًﻣﺎ ﻳﺘﻄﻠﺐ ﺗﺸﻮﻳﺶ ﻛﻞ
ﻣﻌُﺎﻣﻞﻃﻠﺐ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺇﺻﺪﺍﺭ ﻋﺪﺩ ﻛﺒﻴﺮ ﻣﻦ ﺍﻟﻄﻠﺒﺎﺕ ﻭﻣﺮﺍﺟﻌﺔ ﺍﻟﻨﺘﺎﺉﺞ ﺑﺤﺜﺎً ﻋﻦ ﺃﻱ
ﺷﺬﻭﺫ.
ﺇﺫﺍﻛﺎﻧﺖ ﻣﺠﻤﻮﻋﺔ ﺳﻼﺳﻞ ﺍﻟﻬﺠﻮﻡ ﺍﻟﺨﺎﺻﺔ ﺑﻚ ﻛﺒﻴﺮﺓ ﺟﺪﺍً ،ﻓﻘﺪ ﻳﻜﻮﻥ ﻫﺬﺍ ﻏﻴﺮ ﻣﻨﺘﺞ
825 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﻭﺗﻮﻟﻴﺪﻛﻤﻴﺔ ﻫﺎﺉﻠﺔ ﻣﻦ ﺍﻟﻤﺨﺮﺟﺎﺕ ﺍﻟﺘﻲ ﻳﺼﻌﺐ ﻋﻠﻴﻚ ﻣﺮﺍﺟﻌﺘﻬﺎ .ﻟﺬﺍ ،ﻓﺈﻥ ﺍﻟﻨﻬﺞ ﺍﻷﻣﺜﻞ
ﻫﻮﺍﺳﺘﻬﺪﺍﻑ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﺍﻟﺸﺎﺉﻌﺔ ﺍﻟﺘﻲ ﻳﺴﻬﻞ ﺍﻛﺘﺸﺎﻓﻬﺎ ﻏﺎﻟﺒﺎً ﻓﻲ
ﺍﺳﺘﺠﺎﺑﺎﺕﻏﻴﺮ ﻃﺒﻴﻌﻴﺔ ﻟﻤﺪﺧﻼﺕ ﻣﺼُﻤﻤﺔ ﺧﺼﻴﺼﺎً ،ﻭﺍﻟﺘﻲ ﻏﺎﻟﺒﺎً ﻣﺎ ﺗﻈﻬﺮ ﻓﻲ ﺃﻱ ﻣﻜﺎﻥ
ﺩﺍﺧﻞﺍﻟﺘﻄﺒﻴﻖ ﺑﺪﻻً ﻣﻦ ﺃﻧﻮﺍﻉ ﻣﺤﺪﺩﺓ ﻣﻦ ﺍﻟﻮﻇﺎﺉﻒ .ﺇﻟﻴﻚ ﻣﺠﻤﻮﻋﺔ ﻣﻨﺎﺳﺒﺔ ﻣﻦ
ﺍﻟﺤﻤﻮﻻﺕﺍﻟﺘﻲ ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻻﺧﺘﺒﺎﺭ ﺑﻌﺾ ﺍﻟﻔﺉﺎﺕ ﺍﻟﺸﺎﺉﻌﺔ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ:
ﺣﻘﻦSQL
'
'--
'; ﺍﻧﺘﻈﺮ ﺍﻟﺘﺄﺧﻴﺮ ' ;1 --'0:30:0ﺍﻧﺘﻈﺮ ﺍﻟﺘﺄﺧﻴﺮ
'--'0:30:0
ﻭﺣﻘﻦﺍﻟﺮﺃﺱ XSS
ﺍﺧﺘﺒﺎﺭxss
"<)'xss'(>/scriptﺗﻨﺒﻴﻪ<"<>script
ﻋﺒﻮﺭﺍﻟﻤﺴﺎﺭ
/../../../../../../../../../ . .ﺇﻟﺦ/ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
. . /../../../../../../../../../boot.ini
\..\..\..\..\..\..\..\..\..\. .ﺇﻟﺦ\passwd
. . \..\..\..\..\..\..\..\..\..\boot.ini
ﺣﻘﻦﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﻨﺼﻲ
;ﺻﺪﻯ 111111
ﺻﺪﻯ111111
ﺍﻟﺮﺩ.ﺍﻛﺘﺐ 111111
:response.write111111
ﺗﻀﻤﻴﻦﺍﻟﻤﻠﻒ
</ﻏﻴﺮ ﻣﻮﺟﻮﺩ IPﻋﻨﻮﺍﻥ></ http://ﺍﺳﻢ ﺍﻟﺨﺎﺩﻡ
ﺍﻟﺨﺎﺹﺑﻚ>http://
7.1.4ﺟﻤﻴﻊ ﺍﻟﺤﻤﻮﻻﺕ ﺍﻟﺴﺎﺑﻘﺔ ﻣﻌﺮﻭﺿﺔ ﺑﺼﻴﻐﺘﻬﺎ ﺍﻟﺤﺮﻓﻴﺔ .ﻳﺠﺐ ﺗﺮﻣﻴﺰ ﺍﻷﺣﺮﻑ ? ﻭ; ﻭ& ﻭ +ﻭ=
ﻭﺍﻟﻤﺴﺎﻓﺔﺑﺎﺳﺘﺨﺪﺍﻡ ﻋﻨﻮﺍﻥ URLﻧﻈﺮﺍً ﻟﺨﺼﺎﺉﺼﻬﺎ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 826
7.1.5ﻓﻲ ﺩﺍﻟﺔ Grepﻓﻲ ،Burp Intruderﻗﻢ ﺑﺘﻜﻮﻳﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻨﺎﺳﺒﺔ ﻣﻦ ﺍﻟﺴﻼﺳﻞ ﺍﻟﻨﺼﻴﺔ
ﻟﻺﺷﺎﺭﺓﺇﻟﻰ ﺑﻌﺾ ﺭﺳﺎﺉﻞ ﺍﻟﺨﻄﺄ ﺍﻟﺸﺎﺉﻌﺔ ﺿﻤﻦ ﺍﻻﺳﺘﺠﺎﺑﺎﺕ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
ﺧﻄﺄ
ﺍﺳﺘﺜﻨﺎء
ﻏﻴﺮﻗﺎﻧﻮﻧﻲ
ﻏﻴﺮﺻﺎﻟﺢ
ﻳﻔﺸﻞ
ﻛﻮﻣﺔ
ﻭﺻﻮﻝ
ﺩﻟﻴﻞ
ﻣﻠﻒ
ﻟﻢﻳﺘﻢ ﺍﻟﻌﺜﻮﺭ ﻋﻠﻴﻪ
ﻓﺎﺭﺷﺎﺭ
ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻔﺘﻮﺣﺔ
SQL
ﻳﺨﺘﺎﺭ
111111
7.1.6ﺣﺪﺩ ﺃﻳﻀﺎً ﺧﻴﺎﺭ Payload Grepﻟﻺﺷﺎﺭﺓ ﺇﻟﻰ ﺍﻻﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻲ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺍﻟﺤﻤﻮﻟﺔ
ﻧﻔﺴﻬﺎ،ﻣﻤﺎ ﻳﺸﻴﺮ ﺇﻟﻰ ﻭﺟﻮﺩ ﺛﻐﺮﺓ ﻣﺤﺘﻤﻠﺔ ﻓﻲ ﺣﻘﻦ XSSﺃﻭ ﺍﻟﺮﺃﺱ.
7.1.7ﻗﻢ ﺑﺈﻋﺪﺍﺩ ﺧﺎﺩﻡ ﻭﻳﺐ ﺃﻭ ﻣﺴﺘﻤﻊ netcatﻋﻠﻰ ﺍﻟﻤﻀﻴﻒ ﺍﻟﺬﻱ ﺣﺪﺩﺗﻪ ﻓﻲ ﺣﻤﻮﻟﺔ ﺗﻀﻤﻴﻦ
ﺍﻟﻤﻠﻔﺎﺕﺍﻷﻭﻟﻰ .ﻳﺴﺎﻋﺪﻙ ﻫﺬﺍ ﻋﻠﻰ ﻣﺮﺍﻗﺒﺔ ﻣﺤﺎﻭﻻﺕ ﺍﻻﺗﺼﺎﻝ ﺍﻟﻮﺍﺭﺩﺓ ﻣﻦ ﺍﻟﺨﺎﺩﻡ ﺍﻟﻨﺎﺗﺠﺔ
ﻋﻦﻫﺠﻮﻡ ﺗﻀﻤﻴﻦ ﻣﻠﻔﺎﺕ ﻋﻦ ﺑﻌُﺪ ﻧﺎﺟﺢ.
7.1.8ﺷﻦ ّﺍﻟﻬﺠﻮﻡ .ﻋﻨﺪ ﺍﻛﺘﻤﺎﻟﻪ ،ﺭﺍﺟﻊ ﺍﻟﻨﺘﺎﺉﺞ ﺑﺤﺜﺎً ﻋﻦ ﺃﻱ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺷﺎﺫﺓ ﺗﺸﻴﺮ ﺇﻟﻰ ﻭﺟﻮﺩ
ﺛﻐﺮﺍﺕﺃﻣﻨﻴﺔ .ﺗﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﺍﺧﺘﻼﻓﺎﺕ ﻓﻲ ﺭﻣﺰ ﺣﺎﻟﺔ ،HTTPﻭﻃﻮﻝ ﺍﻻﺳﺘﺠﺎﺑﺔ ،ﻭﻭﻗﺖ
ﺍﻻﺳﺘﺠﺎﺑﺔ،ﻭﺷﻜﻞ ﺍﻟﺘﻌﺒﻴﺮﺍﺕ ﺍﻟﻤﻬُﻴﺄﺓ ،ﻭﺷﻜﻞ ﺍﻟﺤﻤﻮﻟﺔ ﻧﻔﺴﻬﺎ .ﻳﻤﻜﻨﻚ ﺍﻟﻨﻘﺮ ﻋﻠﻰ ﻋﻨﻮﺍﻥ
ﻛﻞﻋﻤﻮﺩ ﻓﻲ ﺟﺪﻭﻝ ﺍﻟﻨﺘﺎﺉﺞ ﻟﻔﺮﺯ ﺍﻟﻨﺘﺎﺉﺞ ﺣﺴﺐ ﺍﻟﻘﻴﻢ ﻓﻴﻪ )ﻭﺍﺿﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎﺡ Shift
ﻣﻊﺍﻟﻨﻘﺮ ﻟﻌﻜﺲ ﺗﺮﺗﻴﺐ ﺍﻟﻨﺘﺎﺉﺞ( .ﻳﻤُﻜﻨّﻚ ﻫﺬﺍ ﻣﻦ ﺗﺤﺪﻳﺪ ﺃﻱ ﺷﺬﻭﺫﺍﺕ ﺑﺎﺭﺯﺓ ﻋﻦ ﺍﻟﻨﺘﺎﺉﺞ
ﺍﻷﺧﺮﻯﺑﺴﺮﻋﺔ.
7.1.9ﻟﻜﻞ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﻣﺤﺘﻤﻠﺔ ﻣﺸُﺎﺭ ﺇﻟﻴﻬﺎ ﻓﻲ ﻧﺘﺎﺉﺞ ﺍﺧﺘﺒﺎﺭ ﺍﻟﺘﺰﻭﻳﺮ ،ﻳﺮُﺟﻰ ﻣﺮﺍﺟﻌﺔ ﺍﻷﻗﺴﺎﻡ
ﺍﻟﺘﺎﻟﻴﺔﻣﻦ ﻫﺬﻩ ﺍﻟﻤﻨﻬﺠﻴﺔ .ﺗﺼﻒ ﻫﺬﻩ ﺍﻷﻗﺴﺎﻡ ﺍﻟﺨﻄﻮﺍﺕ ﺍﻟﺘﻔﺼﻴﻠﻴﺔ ﺍﻟﺘﻲ ﻳﺠﺐ ﺍﺗﺨﺎﺫﻫﺎ
ﻓﻴﻤﺎﻳﺘﻌﻠﻖ ﺑﻜﻞ ﻓﺉﺔ ﻣﻦ ﺍﻟﻤﺸﺎﻛﻞ ﻟﻠﺘﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﻭﺍﺳﺘﻐﻼﻟﻬﺎ ﺑﻨﺠﺎﺡ.
827 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
7.1.10ﺑﻌﺪ ﺗﻬﻴﺉﺔ Burp Intruderﻹﺟﺮﺍء ﺍﺧﺘﺒﺎﺭ ﺯﺍﺉﻒ ﻟﻄﻠﺐ ﻭﺍﺣﺪ ،ﻳﻤﻜﻨﻚ ﺗﻜﺮﺍﺭ ﻧﻔﺲ
ﺍﻻﺧﺘﺒﺎﺭﺑﺴﺮﻋﺔ ﻋﻠﻰ ﻃﻠﺒﺎﺕ ﺃﺧﺮﻯ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ .ﻣﺎ ﻋﻠﻴﻚ ﺳﻮﻯ ﺗﺤﺪﻳﺪ ﻛﻞ ﻃﻠﺐ
ﻣﺴﺘﻬﺪﻑﺩﺍﺧﻞ Burp Proxyﻭﺍﺧﺘﻴﺎﺭ ﺧﻴﺎﺭ "ﺇﺭﺳﺎﻝ ﺇﻟﻰ ."Intruderﺛﻢ ﺷﻐﻞّ ﺍﻟﻬﺠﻮﻡ
ﻓﻮﺭﺍًﺩﺍﺧﻞ Intruderﺑﺎﺳﺘﺨﺪﺍﻡ ﺇﻋﺪﺍﺩﺍﺕ ﺍﻟﻬﺠﻮﻡ ﺍﻟﺤﺎﻟﻴﺔ .ﺑﻬﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ،ﻳﻤﻜﻨﻚ ﺗﺸﻐﻴﻞ
ﻋﺪﺩﻛﺒﻴﺮ ﻣﻦ ﺍﻻﺧﺘﺒﺎﺭﺍﺕ ﻓﻲ ﻭﻗﺖ ﻭﺍﺣﺪ ﻓﻲ ﻧﻮﺍﻓﺬ ﻣﻨﻔﺼﻠﺔ ﻭﻣﺮﺍﺟﻌﺔ ﺍﻟﻨﺘﺎﺉﺞ ﻳﺪﻭﻳﺎً ﻋﻨﺪ
ﺍﻧﺘﻬﺎءﻛﻞ ﺍﺧﺘﺒﺎﺭ ﻣﻦ ﻋﻤﻠﻪ.
7.1.11ﺇﺫﺍ ﻛﺸﻔﺖ ﺗﻤﺎﺭﻳﻦ ﺍﻟﺘﻌﻴﻴﻦ ﺍﻟﺨﺎﺻﺔ ﺑﻚ ﻋﻦ ﺃﻱ ﻗﻨﻮﺍﺕ ﺇﺩﺧﺎﻝ ﺧﺎﺭﺝ ﺍﻟﻨﻄﺎﻕ ،ﺣﻴﺚ ﻳﻤﻜﻦ
ﺇﺩﺧﺎﻝﻣﺪﺧﻼﺕ ﻗﺎﺑﻠﺔ ﻟﻠﺘﺤﻜﻢ ﻣﻦ ﻗﺒِﻞ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻓﻲ ﻣﻌﺎﻟﺠﺔ ﺍﻟﺘﻄﺒﻴﻖ ،ﻓﻌﻠﻴﻚ ﺇﺟﺮﺍء
ﺗﻤﺮﻳﻦﺗﺸﻮﻳﺶ ﻣﺸﺎﺑﻪ ﻋﻠﻰ ﻗﻨﻮﺍﺕ ﺍﻹﺩﺧﺎﻝ ﻫﺬﻩ .ﺃﺭﺳﻞ ﺑﻴﺎﻧﺎﺕ ﻣﻌُﺪﺓّ ﻣﺨُﺘﻠﻔﺔ ﻣﺼُﻤﻤﺔ
ﻟﺘﻔﻌﻴﻞﺍﻟﺜﻐﺮﺍﺕ ﺍﻷﻣﻨﻴﺔ ﺍﻟﺸﺎﺉﻌﺔ ﻋﻨﺪ ﻣﻌﺎﻟﺠﺘﻬﺎ ﺩﺍﺧﻞ ﺗﻄﺒﻴﻖ ﺍﻟﻮﻳﺐ .ﺑﻨﺎء ًﻋﻠﻰ ﻃﺒﻴﻌﺔ
ﻗﻨﺎﺓﺍﻹﺩﺧﺎﻝ ،ﻗﺪ ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﺇﻧﺸﺎء ﻧﺺ ﺑﺮﻣﺠﻲ ﻣﺨُﺼﺺ ﺃﻭ ﺃﺩﺍﺓ ﺃﺧﺮﻯ ﻟﻬﺬﺍ ﺍﻟﻐﺮﺽ.
7.1.12ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﻓﺤﺼﻚ ﺍﻟﺨﺎﺹ ﻟﻄﻠﺒﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ،ﺇﺫﺍ ﻛﺎﻥ ﻟﺪﻳﻚ ﺣﻖ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻣﺎﺳﺢ
ﺛﻐﺮﺍﺕﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ ﺍﻟﺘﻠﻘﺎﺉﻲ ،ﻓﻴﺠﺐ ﻋﻠﻴﻚ ﺗﺸﻐﻴﻞ
ﻗﻢﺑﻤﻘﺎﺭﻧﺔ ﺍﻟﻨﺘﺎﺉﺞ ﺍﻟﺘﻲ ﺗﻮﺻﻠﺖ ﺇﻟﻴﻬﺎ ﻣﻊ ﺗﻄﺒﻴﻘﻚ ﺍﻟﻤﺴﺘﻬﺪﻑ ﻟﺘﻮﻓﻴﺮ ﺃﺳﺎﺱ ﻟﻠﻤﻘﺎﺭﻧﺔ ﻣﻊ
ﺍﻟﻨﺘﺎﺉﺞﺍﻟﺘﻲ ﺗﻮﺻﻠﺖ ﺇﻟﻴﻬﺎ.
7.2.4ﺣﺎﻭﻝ ﺍﺳﺘﺨﺪﺍﻡ ﺩﻭﺍﻝ ﺭﺑﻂ ﺳﻼﺳﻞ SQLﺍﻟﺸﺎﺉﻌﺔ ﻹﻧﺸﺎء ﺳﻠﺴﻠﺔ ﻣﻜﺎﻓﺉﺔ ﻟﻤﺪﺧﻼﺕ ﻏﻴﺮ
ﺿﺎﺭﺓ.ﺇﺫﺍ ﺗﺴﺒﺐ ﻫﺬﺍ ﻓﻲ ﻧﻔﺲ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﻤﺪﺧﻼﺕ ﻏﻴﺮ ﺍﻟﻀﺎﺭﺓ ﺍﻷﺻﻠﻴﺔ ،ﻓﻤﻦ ﺍﻟﻤﺤﺘﻤﻞ
ﺃﻥﻳﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻋﺮﺿﺔ ﻟﻼﺧﺘﺮﺍﻕ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻤﺪﺧﻞ ﺍﻷﺻﻠﻲ ﻫﻮ
ﺍﻟﺘﻌﺒﻴﺮﻓﻮﻭ،ﻳﻤﻜﻨﻚ ﺇﺟﺮﺍء ﻫﺬﺍ ﺍﻻﺧﺘﺒﺎﺭ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺘﺎﻟﻴﺔ )ﻓﻲ ﺍﻟﻤﺜﺎﻝ ﺍﻟﺜﺎﻟﺚ،
ﻻﺣﻆﺍﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ ﻋﻼﻣﺘﻲ ﺍﻻﻗﺘﺒﺎﺱ(:
'||'ﻓﻮ
''+ﻓﻮ
' 'ﻓﻮ
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 828
ﻛﻤﺎﻫﻮ ﺍﻟﺤﺎﻝ ﺩﺍﺉﻤﺎً ،ﺗﺄﻛﺪ ﻣﻦ ﺗﺮﻣﻴﺰ ﻋﻨﻮﺍﻥ URLﻟﻸﺣﺮﻑ ﻣﺜﻞ +ﻭﺍﻟﻤﺴﺎﻓﺔ ﺍﻟﺘﻲ ﻟﻬﺎ
ﻣﻌﻨﻰﺧﺎﺹ ﺩﺍﺧﻞ ﻃﻠﺒﺎﺕ .HTTP
7.2.5ﺇﺫﺍ ﻛﺎﻥ ﺍﻹﺩﺧﺎﻝ ﺍﻷﺻﻠﻲ ﺭﻗﻤﻴﺎً ،ﻓﺤﺎﻭﻝ ﺍﺳﺘﺨﺪﺍﻡ ﺗﻌﺒﻴﺮ ﺭﻳﺎﺿﻲ ﻣﻜﺎﻓﺊ ﻟﻠﻘﻴﻤﺔ ﺍﻷﺻﻠﻴﺔ.
ﻋﻠﻰﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻘﻴﻤﺔ ﺍﻷﺻﻠﻴﺔ ،2ﻓﺤﺎﻭﻝ ﺇﺭﺳﺎﻝ 1+1ﺃﻭ .1-3ﺇﺫﺍ ﺍﺳﺘﺠﺎﺏ
ﺍﻟﺘﻄﺒﻴﻖﺑﻨﻔﺲ ﺍﻟﻄﺮﻳﻘﺔ،
ﻗﺪﻳﻜﻮﻥ ﺍﻷﻣﺮ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ ،ﺧﺎﺻﺔ ًﺇﺫﺍ ﻛﺎﻧﺖ ﻗﻴﻤﺔ ﺍﻟﺘﻌﺒﻴﺮ ﺍﻟﺮﻗﻤﻲ ﻟﻬﺎ ﺗﺄﺛﻴﺮ ﻣﻨﻬﺠﻲ ﻋﻠﻰ
ﺳﻠﻮﻙﺍﻟﺘﻄﺒﻴﻖ.
7.2.6ﺇﺫﺍ ﻧﺠﺢ ﺍﻻﺧﺘﺒﺎﺭ ﺍﻟﺴﺎﺑﻖ ،ﻳﻤﻜﻨﻚ ﺍﻟﺘﺄﻛﺪ ﺑﺸﻜﻞ ﺃﻛﺒﺮ ﻣﻦ ﻭﺟﻮﺩ ﺛﻐﺮﺓ ﺣﻘﻦ SQLﺑﺎﺳﺘﺨﺪﺍﻡ
ﺗﻌﺒﻴﺮﺍﺕﺭﻳﺎﺿﻴﺔ ﺧﺎﺻﺔ ﺑـ SQLﻹﻧﺸﺎء ﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ .ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺍﻟﺘﻼﻋﺐ
ﺑﻤﻨﻄﻖﺍﻟﺘﻄﺒﻴﻖ ﺑﻬﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ ﺑﺸﻜﻞ ﻣﻨﻬﺠﻲ ،ﻓﻤﻦ ﺷﺒﻪ ﺍﻟﻤﺆﻛﺪ ﺃﻧﻪ ﻣﻌﺮﺽ ﻟﺜﻐﺮﺓ ﺣﻘﻦ
.SQLﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻛﻼ ﺍﻟﻌﻨﺼﺮﻳﻦ ﺍﻟﺘﺎﻟﻴﻴﻦ ﻳﻌﺎﺩﻻﻥ ﺍﻟﺮﻗﻢ :2
('67-ASCII)'A
(51-ASCII)1
7.2.7ﺇﺫﺍ ﻛﺎﻧﺖ ﺃﻱ ﻣﻦ ﺣﺎﻻﺕ ﺍﺧﺘﺒﺎﺭ fuzzﺗﺴﺘﺨﺪﻡﺍﻧﺘﻈﺮﺃﺩﻯ ﺍﻷﻣﺮ ﺇﻟﻰ ﺗﺄﺧﻴﺮ ﺯﻣﻨﻲ ﻏﻴﺮ ﻃﺒﻴﻌﻲ
ﻗﺒﻞﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺘﻄﺒﻴﻖ ،ﻭﻫﺬﺍ ﻣﺆﺷﺮ ﻗﻮﻱ ﻋﻠﻰ ﺃﻥ ﻧﻮﻉ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﻮ MS-SQLﻭﺃﻥ
ﺍﻟﺘﻄﺒﻴﻖﻣﻌﺮﺽ ﻟﺨﻄﺮ ﺣﻘﻦ .SQLﻛﺮﺭ ﺍﻻﺧﺘﺒﺎﺭ ﻳﺪﻭﻳﺎً ،ﻣﻊ ﺗﺤﺪﻳﺪ ﻗﻴﻢ ﻣﺨﺘﻠﻔﺔ ﻓﻲﺍﻧﺘﻈﺮ
ﺣﺪﺩﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻭﻗﺖ ﺍﻻﺳﺘﺠﺎﺑﺔ ﻳﺘﻐﻴﺮ ﺑﺎﻧﺘﻈﺎﻡ ﻣﻊ ﻫﺬﻩ ﺍﻟﻘﻴﻤﺔ .ﻳﺮُﺟﻰ ﻣﻼﺣﻈﺔ ﺃﻧﻪ ﻗﺪ ﻳﺘﻢ
ﺇﺩﺭﺍﺝﺣﻤﻮﻟﺔ ﺍﻟﻬﺠﻮﻡ ﻓﻲ ﺃﻛﺜﺮ ﻣﻦ ﺍﺳﺘﻌﻼﻡ ،SQLﻟﺬﺍ ﻗﺪ ﻳﻜﻮﻥ ﺍﻟﺘﺄﺧﻴﺮ ﺍﻟﺰﻣﻨﻲ ﺍﻟﻤﻼُﺣﻆ
ﻣﻀﺎﻋﻔﺎًﺛﺎﺑﺘﺎً ﻟﻠﻘﻴﻤﺔ ﺍﻟﻤﺤﺪﺩﺓ.
7.2.8ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻋﺮﺿﺔ ﻟﺨﻄﺮ ﺣﻘﻦ ،SQLﻓﻔﻜﺮ ﻓﻲ ﺃﻧﻮﺍﻉ ﺍﻟﻬﺠﻤﺎﺕ ﺍﻟﻤﻤﻜﻨﺔ ﻭﺍﻟﺘﻲ ﻣﻦ
ﺍﻟﻤﺮﺟﺢﺃﻥ ﺗﺴﺎﻋﺪﻙ ﻓﻲ ﺗﺤﻘﻴﻖ ﺃﻫﺪﺍﻓﻚ.
ﺭﺍﺟﻊﺍﻟﻔﺼﻞ 9ﻟﻤﻌﺮﻓﺔ ﺍﻟﺨﻄﻮﺍﺕ ﺍﻟﺘﻔﺼﻴﻠﻴﺔ ﺍﻟﻼﺯﻣﺔ ﻟﺘﻨﻔﻴﺬ ﺃﻱ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﺗﻌﺪﻳﻞﺍﻟﺸﺮﻭﻁ ﺩﺍﺧﻞﺃﻳﻦﻋﺒﺎﺭﺓ ﻟﺘﻐﻴﻴﺮ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻋﻦ ﻃﺮﻳﻖ -
ﺍﻷﺻﻠﻲﻟﻠﺘﻄﺒﻴﻖ.
ﺑﺼﻤﺔﻧﻮﻉ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻨﺎء ﺟﻤﻠﺔ SQLﺍﻟﺨﺎﺻﺔ ﺑﻘﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ. -
ﺇﺫﺍﻛﺎﻥ ﻧﻮﻉ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﻮ MS-SQLﻭﺃﺭﺟﻊ ﺍﻟﺘﻄﺒﻴﻖ ﺭﺳﺎﺉﻞ ﺧﻄﺄ ODBCﻓﻲ -
ﺇﺫﺍﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺍﻟﺘﺴﺒﺐ ﻓﻲ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺗﻄﺒﻴﻖ ﻣﺨﺘﻠﻔﺔ ﺍﺳﺘﻨﺎﺩﺍً ﺇﻟﻰ ﺷﺮﻁ -
7.3.1.2ﺑﺎﻟﻨﺴﺒﺔ ﻟﻜﻞ ﻣﻦ ﻫﺬﻩ ﺍﻟﺤﺎﻻﺕ ،ﺭﺍﺟﻊ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺘﻄﺒﻴﻖ ﻟﻠﻌﺜﻮﺭ ﻋﻠﻰ ﺍﻟﻤﻮﻗﻊ
ﺇﺫﺍﻇﻬﺮ ﻫﺬﺍ ﻓﻲ ﻧﺺ ﺍﻻﺳﺘﺠﺎﺑﺔ ،ﻓﺎﺧﺘﺒﺮ ﺛﻐﺮﺍﺕ .XSSﺇﺫﺍ ﻇﻬﺮ ﺍﻟﻤﺪُﺧﻞ ﻓﻲ ﺃﻱ ﺭﺃﺱ
،HTTPﻓﺎﺧﺘﺒﺮ ﺛﻐﺮﺍﺕ ﺣﻘﻦ ﺍﻟﺮﺃﺱ .ﺇﺫﺍ ﺍﺳﺘﺨُﺪﻡ ﻓﻲﻣﻮﻗﻊﺭﺃﺱ ﺍﺳﺘﺠﺎﺑﺔ ،302ﺃﻭ ﺇﺫﺍ
ﺍﺳﺘﺨُﺪﻡﻟﺘﺤﺪﻳﺪ ﺇﻋﺎﺩﺓ ﺗﻮﺟﻴﻪ ﺑﻄﺮﻳﻘﺔ ﺃﺧﺮﻯ ،ﻓﺎﺧﺘﺒﺮ ﺛﻐﺮﺍﺕ ﺇﻋﺎﺩﺓ ﺍﻟﺘﻮﺟﻴﻪ .ﻳﺮُﺟﻰ ﻣﻼﺣﻈﺔ
ﺃﻧﻪﻗﺪ ﻳﺘﻢ ﻧﺴﺦ ﻧﻔﺲ ﺍﻟﻤﺪُﺧﻼﺕ ﺇﻟﻰ ﻣﻮﺍﻗﻊ ﻣﺘﻌﺪﺩﺓ ﺩﺍﺧﻞ ﺍﻻﺳﺘﺠﺎﺑﺔ ،ﻭﻗﺪ ﻳﻮﺟﺪ ﺃﻛﺜﺮ ﻣﻦ
ﻧﻮﻉﻭﺍﺣﺪ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻟﻤﻨﻌﻜﺴﺔ.
7.3.2ﺍﺧﺘﺒﺎﺭ XSSﺍﻟﻤﻨﻌﻜﺲ
7.3.2.1ﺑﺎﻟﻨﺴﺒﺔ ﻟﻜﻞ ﻣﻜﺎﻥ ﺩﺍﺧﻞ ﻧﺺ ﺍﻻﺳﺘﺠﺎﺑﺔ ﺣﻴﺚ ﺗﻈﻬﺮ ﻗﻴﻤﺔ ﻣﻌﻠﻤﺔ ﺍﻟﻄﻠﺐ ،ﺭﺍﺟﻊ HTML
ﺍﻟﻤﺤﻴﻂﻟﺘﺤﺪﻳﺪ ﺍﻟﻄﺮﻕ ﺍﻟﻤﻤﻜﻨﺔ ﻟﺼﻴﺎﻏﺔ ﺇﺩﺧﺎﻟﻚ ﻟﻠﺘﺴﺒﺐ ﻓﻲ ﺗﻨﻔﻴﺬ JavaScript
ﻋﺸﻮﺍﺉﻴﺎً.
ﻋﻠﻰﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻳﻤﻜﻨﻚ ﺣﻘﻦ >ﻧﺺ<ﺍﻟﻌﻼﻣﺎﺕ ،ﺃﻭ ﺣﻘﻨﻬﺎ ﻓﻲ ﻧﺺ ﺑﺮﻣﺠﻲ ﻣﻮﺟﻮﺩ ،ﺃﻭ
ﻭﺿﻊﻗﻴﻤﺔ ﻣﺼﻤﻤﺔ ﻓﻲ ﺳﻤﺔ ﻋﻼﻣﺔ.
7.3.2.2ﺍﺳﺘﺨﺪﻡ ﺍﻟﻄﺮﻕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻟﻀﺮﺏ ﺍﻟﻤﺮﺷﺤﺎﺕ ﺍﻟﻘﺎﺉﻤﺔ ﻋﻠﻰ ﺍﻟﺘﻮﻗﻴﻊ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ
ﺍﻟﻔﺼﻞ 12ﻛﻤﺮﺟﻊ ﻟﻠﻄﺮﻕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﺍﻟﺘﻲ ﻳﻤﻜﻦ ﻣﻦ ﺧﻼﻟﻬﺎ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻤﺪﺧﻼﺕ
ﺍﻟﻤﺼﻤﻤﺔﻟﻠﺘﺴﺒﺐ ﻓﻲ ﺗﻨﻔﻴﺬ .JavaScript
7.3.2.3ﺣﺎﻭﻝ ﺇﺭﺳﺎﻝ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺜﻐﺮﺍﺕ ﺍﻟﻤﺤﺘﻤﻠﺔ ﺇﻟﻰ ﺍﻟﺘﻄﺒﻴﻖ ،ﻭﺭﺍﻗﺒﻬﺎ
ﺍﺳﺘﺠﺎﺑﺎﺗﻬﺎﻟﺘﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻫﻨﺎﻙ ﺃﻱ ﺗﺼﻔﻴﺔ ﺃﻭ ﺗﻄﻬﻴﺮ ﻟﻠﻤﺪﺧﻼﺕ
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 830
ﻳﺘﻢﺗﻨﻔﻴﺬﻩ .ﺇﺫﺍ ﺗﻢ ﺇﺭﺟﺎﻉ ﺳﻠﺴﻠﺔ ﻫﺠﻮﻣﻚ ﺩﻭﻥ ﺗﻌﺪﻳﻞ ،ﻓﺎﺳﺘﺨﺪﻡ ﻣﺘﺼﻔﺤﺎً ﻟﻠﺘﺤﻘﻖ
ﺑﺸﻜﻞﻗﺎﻃﻊ ﻣﻦ ﻧﺠﺎﺣﻚ ﻓﻲ ﺗﻨﻔﻴﺬ JavaScriptﻋﺸﻮﺍﺉﻴﺎً )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻋﻦ
ﻃﺮﻳﻖﺇﻧﺸﺎء ﻣﺮﺑﻊ ﺣﻮﺍﺭ ﺗﻨﺒﻴﻪ(.
7.3.2.4ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺤﻈﺮ ﺍﻹﺩﺧﺎﻝ ﺍﻟﺬﻱ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﺣﺮﻑ ﺃﻭ ﺗﻌﺒﻴﺮﺍﺕ ﻣﻌﻴﻨﺔ ﺗﺤﺘﺎﺝ
ﺇﻟﻰﺍﺳﺘﺨﺪﺍﻣﻬﺎ ،ﺃﻭ ﻳﻘﻮﻡ ﺑﺘﺮﻣﻴﺰ ﺃﺣﺮﻑ ﻣﻌﻴﻨﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ،HTMLﻓﺤﺎﻭﻝ ﺗﺠﺎﻭﺯﺍﺕ
ﺍﻟﻤﺮﺷﺤﺎﺕﺍﻟﻤﺨﺘﻠﻔﺔ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ .12
7.3.2.5ﺇﺫﺍ ﻭﺟﺪﺕ ﺛﻐﺮﺓ XSSﻓﻲﺑﺮﻳﺪﻻ ﻳﺰﺍﻝ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺍﺳﺘﻐﻼﻝ ﻫﺬﺍ ﺍﻟﻄﻠﺐ ﻋﺒﺮ ﻣﻮﻗﻊ ﻭﻳﺐ
ﺿﺎﺭﻳﺤﺘﻮﻱ ﻋﻠﻰ ﻧﻤﻮﺫﺝ ﺑﺎﻟﻤﻌﻠﻤﺎﺕ ﺍﻟﻤﻄﻠﻮﺑﺔ ﻭﻧﺺ ﺑﺮﻣﺠﻲ ﻹﺭﺳﺎﻝ ﺍﻟﻨﻤﻮﺫﺝ ﺗﻠﻘﺎﺉﻴﺎً.
ﻭﻣﻊﺫﻟﻚ،
ﺗﺘﻮﻓﺮﻣﺠﻤﻮﻋﺔ ﺃﻭﺳﻊ ﻣﻦ ﺁﻟﻴﺎﺕ ﺗﻘﺪﻳﻢ ﺍﻟﻬﺠﻮﻡ ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺗﻘﺪﻳﻢ ﺍﻻﺳﺘﻐﻼﻝ ﻋﺒﺮ
ﻳﺤﺼﻞﻃﻠﺐ .ﺣﺎﻭﻝ ﺇﺭﺳﺎﻝ ﻧﻔﺲ ﺍﻟﻤﻌﻠﻤﺎﺕ ﻓﻲﻳﺤﺼﻞﻃﻠﺐ ،ﻭﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻬﺠﻮﻡ
ﻻﻳﺰﺍﻝ ﻧﺎﺟﺤﺎً .ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺇﺟﺮﺍء "ﻃﺮﻳﻘﺔ ﻃﻠﺐ ﺍﻟﺘﻐﻴﻴﺮ" ﻓﻲ Burp Proxyﻟﺘﺤﻮﻳﻞ
ﺍﻟﻄﻠﺐﻧﻴﺎﺑﺔ ًﻋﻨﻚ.
7.3.3.2ﺇﺫﺍ ﻇﻬﺮ ﺳﻄﺮ ﺟﺪﻳﺪ ﻓﻲ ﺭﺅﻭﺱ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺨﺎﺩﻡ ﻋﻨﺪ ﺇﺩﺧﺎﻝ ﻣﻌُﺪ ّ،ﻓﺴﻴﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ
ﻋﺮُﺿﺔ ًﻻﺧﺘﺮﺍﻕ ﺭﺅﻭﺱ .HTTPﻳﻤﻜﻦ ﺍﺳﺘﻐﻼﻝ ﺫﻟﻚ ﻟﺘﻨﻔﻴﺬ ﻫﺠﻤﺎﺕ ﻣﺨُﺘﻠﻔﺔ ،ﻛﻤﺎ ﻫﻮ
ﻣﻮﺿﺢﻓﻲ ﺍﻟﻔﺼﻞ .13
7.3.3.3ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻥ ﺣﺮﻓﺎً ﻭﺍﺣﺪﺍً ﻓﻘﻂ ﻣﻦ ﺣﺮﻓﻲ ﺍﻟﺴﻄﺮ ﺍﻟﺠﺪﻳﺪ ﻳﺘﻢ ﺇﺭﺟﺎﻋﻪ ﻓﻲ ﺍﺳﺘﺠﺎﺑﺎﺕ
ﺍﻟﺨﺎﺩﻡ،ﻓﻤﺎ ﺯﺍﻝ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺇﻧﺸﺎء ﺍﺳﺘﻐﻼﻝ ﻓﻌﺎﻝ ،ﺍﻋﺘﻤﺎﺩﺍً ﻋﻠﻰ ﺍﻟﺴﻴﺎﻕ ﻭﻣﺘﺼﻔﺢ
ﺍﻟﻤﺴﺘﺨﺪﻡﺍﻟﻤﺴﺘﻬﺪﻑ.
7.3.3.4ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺤﻈﺮ ﺍﻹﺩﺧﺎﻝ ﺍﻟﺬﻱ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﺣﺮﻑ ﺳﻄﺮ ﺟﺪﻳﺪ،
ﺇﺫﺍﻛﻨﺖ ﺗﺮﻳﺪ ﺗﺼﻔﻴﺔ ﺃﻭ ﺗﻄﻬﻴﺮ ﺗﻠﻚ ﺍﻷﺣﺮﻑ ﻓﻲ ﺍﺳﺘﺠﺎﺑﺘﻚ ،ﻓﺠﺮﺏ ﻋﻨﺎﺻﺮ ﺍﻹﺩﺧﺎﻝ
ﺍﻟﺘﺎﻟﻴﺔﻻﺧﺘﺒﺎﺭ ﻓﻌﺎﻟﻴﺔ ﺍﻟﻔﻠﺘﺮ:
ﻓﻮ0%00%ﺩ0%ﺃﺑﺎﺭ
ﻓﻮ250%ﺩ250%ﺃﺑﺎﺭ
ﻓﻮ0%%ﺩ0ﺩ0a0abar%%
ﺇﻋﺎﺩﺓﺗﻮﺟﻴﻪ ﻋﺸﻮﺍﺉﻴﺔ ﺇﻟﻰ ﻣﻮﻗﻊ ﻭﻳﺐ ﺧﺎﺭﺟﻲ .ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ،ﻳﻤُﻜﻦ ﺍﺳﺘﻐﻼﻝ ﻫﺬﺍ
ﺍﻟﺴﻠﻮﻙﻹﺿﻔﺎء ﻣﺼﺪﺍﻗﻴﺔ ﻋﻠﻰ ﻫﺠﻮﻡ ﺗﺼﻴﺪ ﺍﺣﺘﻴﺎﻟﻲ.
7.3.4.2ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺮﺳﻞ ﻋﺎﺩﺓ ًﻋﻨﻮﺍﻥ URLﻣﻄﻠﻘﺎً ﻛﻘﻴﻤﺔ ﻟﻠﻤﻌﻠﻤﺔ ،ﻓﻘﻢ ﺑﺘﻌﺪﻳﻞ ﺍﺳﻢ
ﺍﻟﻤﺠﺎﻝﺩﺍﺧﻞ ﻋﻨﻮﺍﻥ ،URLﻭﺍﺧﺘﺒﺮ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻌﻴﺪ ﺗﻮﺟﻴﻬﻚ ﺇﻟﻰ ﺍﻟﻤﺠﺎﻝ
ﺍﻟﻤﺨﺘﻠﻒ.
7.3.4.3ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻤﻌﻠﻤﺔ ﺗﺤﺘﻮﻱ ﻋﺎﺩﺓ ًﻋﻠﻰ ﻋﻨﻮﺍﻥ URLﻧﺴﺒﻲ ،ﻓﻘﻢ ﺑﺘﻌﺪﻳﻞ ﻫﺬﺍ ﺇﻟﻰ ﻋﻨﻮﺍﻥ URL
ﻣﻄﻠﻖﻟﻨﻄﺎﻕ ﻣﺨﺘﻠﻒ ،ﻭﺍﺧﺘﺒﺮ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻌﻴﺪ ﺗﻮﺟﻴﻬﻚ ﺇﻟﻰ ﻫﺬﺍ ﺍﻟﻨﻄﺎﻕ.
7.3.4.4ﺇﺫﺍ ﺃﺟﺮﻯ ﺍﻟﺘﻄﺒﻴﻖ ﺑﻌﺾ ﻋﻤﻠﻴﺎﺕ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﺍﻟﻤﻌﻠﻤﺔ ﻗﺒﻞ ﺇﻋﺎﺩﺓ ﺍﻟﺘﻮﺟﻴﻪ ،ﻭﺫﻟﻚ
ﻟﻤﻨﻊﺇﻋﺎﺩﺓ ﺍﻟﺘﻮﺟﻴﻪ ﺍﻟﺨﺎﺭﺟﻴﺔ ،ﻓﻐﺎﻟﺒﺎً ﻣﺎ ﻳﻜﻮﻥ ﻫﺬﺍ ﻋﺮﺿﺔ ﻟﻠﺘﺠﺎﻭﺯﺍﺕ .ﺟﺮﺏّ ﺍﻟﻬﺠﻤﺎﺕ
ﺍﻟﻤﺨﺘﻠﻔﺔﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ 13ﻻﺧﺘﺒﺎﺭ ﻗﻮﺓ ﺍﻟﻤﺮﺷﺤﺎﺕ.
7.3.5.2ﻓﻲ ﺑﻌﺾ ﺍﻟﺤﺎﻻﺕ ،ﻻ ﺗﺨُﺰﻥَّ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻘُﺪﻣَّﺔ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺑﻨﺠﺎﺡ ﺇﻻ ﺇﺫﺍ ﺃﻛﻤﻠﺖ َﻋﻤﻠﻴﺔ ً
ﻣﺘﻌﺪﺩﺓﺍﻟﻤﺮﺍﺣﻞ ،ﻭﻫﻮ ﻣﺎ ﻻ ﻳﺤﺪﺙ ﻓﻲ ﺍﺧﺘﺒﺎﺭﺍﺕ ﺍﻟﺘﺸﻮﻳﺶ ﺍﻷﺳﺎﺳﻴﺔ .ﺇﺫﺍ ﻛﺸﻔﺖ
ﺗﻤﺎﺭﻳﻦﺗﻌﻴﻴﻦ ﺗﻄﺒﻴﻘﻚ ﻋﻦ ﺃﻱ ﻭﻇﻴﻔﺔ ﻣﻦ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ،ﻓﺎﺗﺒﻊ ﺍﻟﻌﻤﻠﻴﺔ ﻳﺪﻭﻳﺎً ﻭﺍﺧﺘﺒﺮ ﺍﻟﺒﻴﺎﻧﺎﺕ
ﺍﻟﻤﺨُﺰﻧَّﺔﺑﺤﺜﺎً ﻋﻦ ﺛﻐﺮﺍﺕ .XSS
7.3.5.3ﺇﺫﺍ ﻛﺎﻥ ﻟﺪﻳﻚ ﻭﺻﻮﻝ ﻛﺎﻑ ٍﻻﺧﺘﺒﺎﺭﻩ ،ﻓﻘﻢ ﺑﻤﺮﺍﺟﻌﺔ ﺃﻱ ﻭﻇﻴﻔﺔ ﺇﺩﺍﺭﻳﺔ ﻋﻦ ﻛﺜﺐ ﺣﻴﺚ ﻳﺘﻢ
ﻓﻲﺍﻟﻨﻬﺎﻳﺔ ﻋﺮﺽ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺼﺎﺩﺭﺓ ﻋﻦ ﻣﺴﺘﺨﺪﻣﻴﻦ ﺫﻭﻱ ﺍﻣﺘﻴﺎﺯﺍﺕ ﻣﻨﺨﻔﻀﺔ ﻋﻠﻰ
ﺍﻟﺸﺎﺷﺔﻓﻲ ﺟﻠﺴﺔ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻷﻛﺜﺮ ﺍﻣﺘﻴﺎﺯﺍً.
ﻋﺎﺩﺓ ًﻣﺎ ﺗﺆﺩﻱ ﺃﻱ ﺛﻐﺮﺍﺕ XSSﻣﺨﺰﻧﺔ ﻓﻲ ﻭﻇﻴﻔﺔ ﻣﻦ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﺇﻟﻰ ﺗﺼﻌﻴﺪ ﺍﻻﻣﺘﻴﺎﺯﺍﺕ
ﺑﺸﻜﻞﻣﺒﺎﺷﺮ.
7.3.5.4ﺍﺧﺘﺒﺮ ﻛﻞ ﺣﺎﻟﺔ ﺗﺨُﺰﻥَّ ﻓﻴﻬﺎ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻘُﺪﻣَّﺔ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﺗﻌُﺮﺽَ ﻋﻠﻴﻪ .ﺗﺤﻘﻖ ﻣﻦ
ﻭﺟﻮﺩﺛﻐﺮﺍﺕ XSSﻭﻫﺠﻤﺎﺕ ﺣﻘﻦ ﺍﻻﺳﺘﺠﺎﺑﺔ ﺍﻷﺧﺮﻯ ﺍﻟﻤﺬﻛﻮﺭﺓ ﺳﺎﺑﻘﺎً.
7.3.5.5ﺇﺫﺍ ﻭﺟﺪﺕ َﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﺗﻌُﺮﺽَ ﻓﻴﻬﺎ ﺑﻴﺎﻧﺎﺕ ﻣﺪُﺧﻠﺔ ﻣﻦ ﻣﺴﺘﺨﺪﻡ ﻭﺍﺣﺪ ﻟﻤﺴﺘﺨﺪﻣﻴﻦ
ﺁﺧﺮﻳﻦ،ﻓﺤﺪﺩ ﺃﻛﺜﺮ ﺣﻤﻮﻟﺔ ﻫﺠﻮﻣﻴﺔ ﻓﻌﺎﻟﻴﺔ ﻟﺘﺤﻘﻴﻖ ﺃﻫﺪﺍﻓﻚ ،ﻣﺜﻞ ﺍﺧﺘﻄﺎﻑ ﺍﻟﺠﻠﺴﺔ ﺃﻭ
ﺗﺰﻭﻳﺮﺍﻟﻄﻠﺒﺎﺕ .ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺨُﺰﻧَّﺔ ﺗﻌُﺮﺽَ ﻓﻘﻂ ﻟﻨﻔﺲ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﺬﻱ ﺃﺭﺳﻠﻬﺎ
ﻓﻲﺍﻟﺒﺪﺍﻳﺔ ،ﺣﺎﻭﻝ ﺍﻟﻌﺜﻮﺭ ﻋﻠﻰ ﻃﺮﻕ ﻟﺘﺴﻠﺴﻞ ﺃﻱ ﻧﻘﺎﻁ ﺿﻌﻒ ﺃﺧﺮﻯ ﺍﻛﺘﺸﻔﺘﻬﺎ )ﻣﺜﻞ
ﻋﻨﺎﺻﺮﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ﺍﻟﻤﻜﺴﻮﺭﺓ( ﻟﺤﻘﻦ ﻫﺠﻮﻡ ﻓﻲ ﺟﻠﺴﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻵﺧﺮﻳﻦ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 832
7.3.5.6ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﻤﺢ ﺑﺘﺤﻤﻴﻞ ﻭﺗﻨﺰﻳﻞ ﺍﻟﻤﻠﻔﺎﺕ ،ﻓﺎﻓﺤﺺ ﻫﺬﻩ ﺍﻟﻮﻇﻴﻔﺔ ﺩﺍﺉﻤﺎً ﺑﺤﺜﺎً ﻋﻦ
ﻫﺠﻤﺎﺕ XSSﺍﻟﻤﺨﺰﻧﺔ .ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺴﻤﺢ ﺑﻤﻠﻔﺎﺕ HTMLﻭ JARﻭ
ﺇﺫﺍﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺪﻋﻢ ﻣﻠﻔﺎﺕ ﻧﺼﻴﺔ ،ﻭﻻ ﻳﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﻣﺤﺘﻮﻳﺎﺗﻬﺎ ﺃﻭ ﻳﻄﻬﺮﻫﺎ ،ﻓﻤﻦ
ﺍﻟﻤﺮﺟﺢﺃﻧﻪ ﻣﻌﺮﺽ ﻟﻠﺨﻄﺮ .ﺇﺫﺍ ﻛﺎﻥ ﻳﺴﻤﺢ ﺑﻤﻠﻔﺎﺕ JPEGﻭﻻ ﻳﺘﺤﻘﻖ ﻣﻦ ﺍﺣﺘﻮﺍﺉﻬﺎ ﻋﻠﻰ
ﺻﻮﺭﺻﺎﻟﺤﺔ ،ﻓﻤﻦ ﺍﻟﻤﺤﺘﻤﻞ ﺃﻥ ﻳﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻬﺠﻤﺎﺕ ﺗﺴﺘﻬﺪﻑ ﻣﺴﺘﺨﺪﻣﻲ Explorer
.Internetﺍﺧﺘﺒﺮ ﺗﻌﺎﻣﻞ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻊ ﻛﻞ ﻧﻮﻉ ﻣﻠﻒ ﻳﺪﻋﻤﻪ ،ﻭﺗﺄﻛﺪ ﻣﻦ ﻛﻴﻔﻴﺔ ﺗﻌﺎﻣﻞ
ﺍﻟﻤﺘﺼﻔﺤﺎﺕﻣﻊ ﺍﻻﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻲ ﺗﺤﺘﻮﻱ ﻋﻠﻰ HTMLﺑﺪﻻ ًﻣﻦ ﻧﻮﻉ ﺍﻟﻤﺤﺘﻮﻯ ﺍﻟﻌﺎﺩﻱ.
7.3.5.7ﻓﻲ ﻛﻞ ﻣﻮﻗﻊ ﻳﺘﻢ ﻓﻴﻪ ﻋﺮﺽ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺮﺳﻠﺔ ﻣﻦ ﻗﺒﻞ ﻣﺴﺘﺨﺪﻡ ﻭﺍﺣﺪ ﻟﻤﺴﺘﺨﺪﻣﻴﻦ
ﺁﺧﺮﻳﻦﻭﻟﻜﻦ ﺣﻴﺚ ﺗﻤﻨﻌﻚ ﻣﺮﺷﺤﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺍﻷﺩﺍء
ﻫﺠﻮﻡ XSSﻣﺨﺰﻥ ،ﺭﺍﺟﻊ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺳﻠﻮﻙ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺠﻌﻠﻪ ﻋﺮﺿﺔ ﻟﺘﺰﻭﻳﺮ ﺍﻟﻄﻠﺐ ﻓﻲ
ﺍﻟﻤﻮﻗﻊ.
-ﻥﺍﻟﻤﻌﻠﻤﺔ ،ﻭﺗﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻮﻗﺖ ﺍﻟﻤﺴﺘﻐﺮﻕ ﻟﻼﺳﺘﺠﺎﺑﺔ ﻳﺨﺘﻠﻒ ﺑﺸﻜﻞ ﻣﻨﻬﺠﻲ ﻣﻊ
ﻫﺬﻩﺍﻟﻘﻴﻤﺔ.
7.4.2ﺑﺎﺳﺘﺨﺪﺍﻡ ﺃﻱ ﻣﻦ ﺳﻼﺳﻞ ﺍﻟﺤﻘﻦ ﺍﻟﺘﻲ ﺗﻢ ﺍﻟﻌﺜﻮﺭ ﻋﻠﻴﻬﺎ ﻧﺎﺟﺤﺔ ،ﺣﺎﻭﻝ ﺣﻘﻦ ﺃﻣﺮ ﺃﻛﺜﺮ ﺇﺛﺎﺭﺓ
ﻟﻼﻫﺘﻤﺎﻡ)ﻣﺜﻞﻝ ﺱﺃﻭ)ﺍﻟﻤﺨﺮﺝ(ﻭﺗﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺍﺳﺘﺮﺟﺎﻉ ﻧﺘﺎﺉﺞ ﺍﻷﻣﺮ ﺇﻟﻰ
ﻣﺘﺼﻔﺤﻚ.
7.4.3ﺇﺫﺍ ﻟﻢ ﺗﺘﻤﻜﻦ ﻣﻦ ﺍﺳﺘﺮﺩﺍﺩ ﺍﻟﻨﺘﺎﺉﺞ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ،ﻓﻬﻨﺎﻙ ﺧﻴﺎﺭﺍﺕ ﺃﺧﺮﻯ ﻣﺘﺎﺣﺔ ﻟﻚ:
ﻳﻤﻜﻨﻚﻣﺤﺎﻭﻟﺔ ﻓﺘﺢ ﻗﻨﺎﺓ ﺧﺎﺭﺝ ﺍﻟﻨﻄﺎﻕ ﺍﻟﺘﺮﺩﺩﻱ ﻋﻠﻰ ﺟﻬﺎﺯ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ ﺍﻟﺨﺎﺹ ﺑﻚ. -
ﺍﻟﺪﻟﻴﻞ< c:\inetpub\wwwroot\foo.txt
7.4.4ﺇﺫﺍ ﻭﺟﺪﺕ ﻃﺮﻳﻘﺔ ﻟﺤﻘﻦ ﺍﻷﻭﺍﻣﺮ ﻭﺍﺳﺘﺮﺟﺎﻉ ﺍﻟﻨﺘﺎﺉﺞ ،ﻓﻴﺠﺐ ﻋﻠﻴﻚ ﺗﺤﺪﻳﺪ ﻣﺴﺘﻮﻯ ﺍﻻﻣﺘﻴﺎﺯ
ﺍﻟﺨﺎﺹﺑﻚ )ﺑﺎﺳﺘﺨﺪﺍﻡﻭﺍﻣﻲﺃﻭ ﺃﻣﺮ ﻣﺸﺎﺑﻪ ،ﺃﻭ ﻣﺤﺎﻭﻟﺔ ﻛﺘﺎﺑﺔ ﻣﻠﻒ ﻏﻴﺮ ﺿﺎﺭ ﺇﻟﻰ ﺩﻟﻴﻞ ﻣﺤﻤﻲ
( .ﻗﺪ ﺗﺴﻌﻰ ﺑﻌﺪ ﺫﻟﻚ ﺇﻟﻰ ﺗﺼﻌﻴﺪ ﺍﻻﻣﺘﻴﺎﺯﺍﺕ ،ﺃﻭ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﻭﺻﻮﻝ ﺧﻠﻔﻲ ﺇﻟﻰ
ﺑﻴﺎﻧﺎﺕﺗﻄﺒﻴﻖ ﺣﺴﺎﺳﺔ ،ﺃﻭ ﻣﻬﺎﺟﻤﺔ ﻣﻀﻴﻔﻴﻦ ﺁﺧﺮﻳﻦ ﻳﻤﻜﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻴﻬﻢ ﻣﻦ ﺍﻟﺨﺎﺩﻡ
ﺍﻟﻤﺨﺘﺮﻕ.
833 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
7.4.5ﺇﺫﺍ ﻛﻨﺖ ﺗﻌﺘﻘﺪ ﺃﻥ ﻣﺪُﺧﻼﺗﻚ ﺗﻤُﺮﺭَّ ﺇﻟﻰ ﺃﻣﺮ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ،ﻭﻟﻜﻦ ﺳﻼﺳﻞ ﺍﻟﻬﺠﻮﻡ ﺍﻟﻤﺬﻛﻮﺭﺓ
ﻟﻢﺗﻔُﻠﺢ ،ﻓﺤﺎﻭﻝ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺮﻣﺰ > ﺃﻭ < ﻟﺘﻮﺟﻴﻪ ﻣﺤﺘﻮﻳﺎﺕ ﻣﻠﻒ ﺇﻟﻰ ﻣﺪُﺧﻞ ﺍﻷﻣﺮ ﺃﻭ
ﻟﺘﻮﺟﻴﻪﻣﺨُﺮﺟﺎﺗﻪ ﺇﻟﻰ ﻣﻠﻒ .ﻗﺪ ﻳﻤُﻜﻨّﻚ ﻫﺬﺍ ﻣﻦ ﻗﺮﺍءﺓ ﺃﻭ ﻛﺘﺎﺑﺔ ﻣﺤﺘﻮﻳﺎﺕ ﻣﻠﻔﺎﺕ
ﻋﺸﻮﺍﺉﻴﺔ.ﺇﺫﺍ ﻛﻨﺖ ﺗﻌﺮﻑ ﺃﻭ ﺗﺴﺘﻄﻴﻊ ﺗﺨﻤﻴﻦ ﺍﻷﻣﺮ ﺍﻟﻔﻌﻠﻲ ﺍﻟﺬﻱ ﻳﺘﻢ ﺗﻨﻔﻴﺬﻩ ،ﻓﺤﺎﻭﻝ
ﺇﺩﺧﺎﻝﻣﻌُﺎﻣﻼﺕ ﺳﻄﺮ ﺃﻭﺍﻣﺮ ﻣﺮُﺗﺒﻄﺔ ﺑﻬﺬﺍ ﺍﻷﻣﺮ ﻟﺘﻌﺪﻳﻞ ﺳﻠﻮﻛﻪ ﺑﻄﺮﻕ ﻣﻔُﻴﺪﺓ )ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ،ﺑﺘﺤﺪﻳﺪ ﻣﻠﻒ ﻣﺨُﺮﺟﺎﺕ ﺩﺍﺧﻞ ﺟﺬﺭ ﺍﻟﻮﻳﺐ(.
7.4.6ﺇﺫﺍ ﻻﺣﻈﺖ َﺃﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻔُﻠﺖ ﺑﻌﺾ ﺍﻷﺣﺮﻑ ﺍﻟﺮﺉﻴﺴﻴﺔ ،ﻓﺄﻧﺖ َﺑﺤﺎﺟﺔ ﺇﻟﻰ ﺗﻨﻔﻴﺬ ﻫﺠﻮﻡ
ﺣﻘﻦﺍﻷﻭﺍﻣﺮ ،ﻓﺤﺎﻭﻝ ﻭﺿﻊ ﺣﺮﻑ ﺍﻹﻓﻼﺕ ﻗﺒﻞ ﻛﻞ ﺣﺮﻑ .ﺇﺫﺍ ﻟﻢ ﻳﻔُﻠﺖ ﺍﻟﺘﻄﺒﻴﻖ ﺣﺮﻑ
ﺍﻹﻓﻼﺕﻧﻔﺴﻪ ،ﻓﻌﺎﺩﺓ ًﻣﺎ ﻳﺆﺩﻱ ﺫﻟﻚ ﺇﻟﻰ ﺗﺠﺎﻭﺯ ﻫﺬﺍ ﺍﻹﺟﺮﺍء ﺍﻟﺪﻓﺎﻋﻲ.
ﺇﺫﺍﻭﺟﺪﺕ ﺃﻥ ﺃﺣﺮﻑ ﺍﻟﻤﺴﺎﻓﺎﺕ ﺍﻟﺒﻴﻀﺎء ﻣﺤﻈﻮﺭﺓ ﺃﻭ ﻣﻌﻘﻤﺔ ،ﻓﻘﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻡ $ﻧﻈﺎﻡ
ﺇﺩﺍﺭﺓﺍﻟﻤﻮﺍﺭﺩ ﺍﻟﺒﺸﺮﻳﺔﺑﺪﻻ ًﻣﻦ ﺍﻟﻤﺴﺎﻓﺎﺕ ﻋﻠﻰ ﺍﻟﻤﻨﺼﺎﺕ ﺍﻟﻤﺴﺘﻨﺪﺓ ﺇﻟﻰ .UNIX
7.5.2ﻋﻨﺪ ﺗﺤﺪﻳﺪﻙ ﻟﺴﻄﺢ ﻫﺠﻮﻡ ﺍﻟﺘﻄﺒﻴﻖ ،ﻳﺠﺐ ﻋﻠﻴﻚ ﻣﻼﺣﻈﺔ ﺃﻱ ﻭﻇﻴﻔﺔ ﺗﺪﻋﻢ ﺗﺤﺪﻳﺪﺍً ﻗﺮﺍءﺓ
ﺍﻟﻤﻠﻔﺎﺕﻭﻛﺘﺎﺑﺘﻬﺎ ﺑﻨﺎء ًﻋﻠﻰ ﻣﺪﺧﻼﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ .ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﺘﺸﻮﻳﺶ ﺍﻟﻌﺎﻡ ﻋﻠﻰ
ﺟﻤﻴﻊﺍﻟﻤﻌﻠﻤﺎﺕ ،ﻳﺠﺐ ﻋﻠﻴﻚ ﺍﺧﺘﺒﺎﺭ ﻫﺬﻩ ﺍﻟﻮﻇﻴﻔﺔ ﻳﺪﻭﻳﺎً ﺑﺪﻗﺔ ﺷﺪﻳﺪﺓ ﻟﺘﺤﺪﻳﺪ ﺃﻱ ﺛﻐﺮﺍﺕ
ﺃﻣﻨﻴﺔﻓﻲ ﻣﺴﺎﺭ ﺍﻻﺧﺘﺮﺍﻕ.
7.5.3ﺇﺫﺍ ﺑﺪﺍ ﺃﻥ ﺃﺣﺪ ﺍﻟﻤﻌﺎﻣﻠﻴﻦ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺍﺳﻢ ﻣﻠﻒ ،ﺃﻭ ﺟﺰء ﻣﻨﻪ ،ﺃﻭ ﺩﻟﻴﻞ ،ﻓﻌﺪﻝّ ﻗﻴﻤﺔ
ﺍﻟﻤﻌﺎﻣﻞﺍﻟﺤﺎﻟﻴﺔ ﻹﺩﺭﺍﺝ ﺃﻱ ﺩﻟﻴﻞ ﻓﺮﻋﻲ ﻭﺗﺴﻠﺴﻞ ﺍﺟﺘﻴﺎﺯ ﻭﺍﺣﺪ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺇﺫﺍ
ﺃﺭﺳﻞﺍﻟﺘﻄﺒﻴﻖ ﻫﺬﻩ ﺍﻟﻤﻌﺎﻣﻞ:
ﺍﻟﻤﻠﻒ=foo/file1.txt
ﺇﺫﺍﻛﺎﻥ ﺳﻠﻮﻙ ﺍﻟﺘﻄﺒﻴﻖ ﻣﺘﻄﺎﺑﻘﺎً ﻓﻲ ﺍﻟﺤﺎﻟﺘﻴﻦ ،ﻓﻘﺪ ﻳﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ ،ﻭﻋﻠﻴﻚ ﺍﻻﻧﺘﻘﺎﻝ
ﺇﻟﻰﺍﻟﺨﻄﻮﺓ ﺍﻟﺘﺎﻟﻴﺔ .ﺃﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺴﻠﻮﻙ ﻣﺨﺘﻠﻔﺎً ،ﻓﻘﺪ ﻳﻘﻮﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺤﻈﺮ ﺃﻭ ﺇﺯﺍﻟﺔ ﺃﻭ
ﺗﻄﻬﻴﺮ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 834
ﺗﺴﻠﺴﻼﺕﻋﺒﻮﺭ ،ﻣﻤﺎ ﻳﺆﺩﻱ ﺇﻟﻰ ﻣﺴﺎﺭ ﻣﻠﻒ ﻏﻴﺮ ﺻﺎﻟﺢ .ﺣﺎﻭﻝ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺘﺮﻣﻴﺰ
ﻭﺍﻟﻬﺠﻤﺎﺕﺍﻷﺧﺮﻯ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺍﻟﻔﺼﻞ ﺍﻟﻌﺎﺷﺮ ﻟﺘﺠﺎﻭﺯ ﺍﻟﻤﺮﺷﺤﺎﺕ.
7.5.4ﺇﺫﺍ ﻧﺠﺢ ﺍﻻﺧﺘﺒﺎﺭ ﺍﻟﺴﺎﺑﻖ ﻻﺳﺘﺨﺪﺍﻡ ﺗﺴﻠﺴﻼﺕ ﺍﻟﺘﻨﻘﻞ ﺩﺍﺧﻞ ﺍﻟﺪﻟﻴﻞ ﺍﻷﺳﺎﺳﻲ ،ﻓﺤﺎﻭﻝ
ﺍﺳﺘﺨﺪﺍﻡﺗﺴﻠﺴﻼﺕ ﺇﺿﺎﻓﻴﺔ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﻌﺮﻭﻓﺔ ﻋﻠﻰ ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ﺍﻟﺨﺎﺩﻡ.
ﺇﺫﺍﻓﺸﻠﺖ ﻫﺬﻩ ﺍﻟﻤﺤﺎﻭﻻﺕ ،ﻓﻘﺪ ﻳﻔﺮﺽ ﺍﻟﺘﻄﺒﻴﻖ ﻋﻮﺍﻣﻞ ﺗﺼﻔﻴﺔ ﺃﻭ ﻓﺤﻮﺻﺎﺕ ﻣﺨﺘﻠﻔﺔ
ﻗﺒﻞﻣﻨﺢ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﻠﻔﺎﺕ .ﻳﺠﺐ ﻋﻠﻴﻚ ﺇﺟﺮﺍء ﺍﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﺒﺤﺚ ﻟﻔﻬﻢ ﻋﻨﺎﺻﺮ
ﺍﻟﺘﺤﻜﻢﺍﻟﻤﻄُﺒﻘﺔ ،ﻭﻣﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﺃﻱ ﺗﺠﺎﻭﺯﺍﺕ.
7.5.5ﻗﺪ ﻳﺘﺤﻘﻖ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺍﻣﺘﺪﺍﺩ ﺍﻟﻤﻠﻒ ﺍﻟﻤﻄﻠﻮﺏ ﻭﻳﺴﻤﺢ ﺑﺎﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺃﻧﻮﺍﻉ ﻣﻌﻴﻨﺔ ﻓﻘﻂ
ﻣﻦﺍﻟﻤﻠﻔﺎﺕ .ﺣﺎﻭﻝ ﺍﺳﺘﺨﺪﺍﻡ ﻫﺠﻮﻡ ﺑﺎﻳﺖ ﻓﺎﺭﻍ ﺃﻭ ﺳﻄﺮ ﺟﺪﻳﺪ ﻣﻊ ﺍﻣﺘﺪﺍﺩ ﻣﻠﻒ ﻣﻌﺮﻭﻑ
ﻭﻣﻘﺒﻮﻝﻟﺘﺠﺎﻭﺯ ﺍﻟﻔﻠﺘﺮ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
. . /../../../../boot.ini%00.jpg
. . /../../../../etc/passwd%0a.jpg
7.5.6ﻗﺪ ﻳﺘﺤﻘﻖ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻦ ﺃﻥ ﻣﺴﺎﺭ ﺍﻟﻤﻠﻒ ﺍﻟﺬﻱ ﻳﺪُﺧﻠﻪ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻳﺒﺪﺃ ﺑﺪﻟﻴﻞ ﺃﻭ ﺟﺬﻉ
ﻣﺤُﺪﺩ.ﺣﺎﻭﻝ ﺇﺿﺎﻓﺔ ﺗﺴﻠﺴﻼﺕ ﺍﻧﺘﻘﺎﻝ ﺑﻌﺪ ﺟﺬﻉ ﻣﻘُﺒﻮﻝ ﻣﻌﺮﻭﻑ ﻟﺘﺠﺎﻭﺯ ﺍﻟﻤﺮُﺷﺢِّ .ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ:
/ﺍﻟﺼﻮﺭ/../../../../../../../ﺇﻟﺦ/ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
7.5.7ﺇﺫﺍ ﻟﻢ ﺗﻨﺠﺢ ﻫﺬﻩ ﺍﻟﻬﺠﻤﺎﺕ ،ﻓﺤﺎﻭﻝ ﺍﻟﺠﻤﻊ ﺑﻴﻦ ﻋﺪﺓ ﻋﻤﻠﻴﺎﺕ ﺗﺠﺎﻭﺯ ،ﻭﺍﻟﻌﻤﻞ ﻓﻲ ﺍﻟﺒﺪﺍﻳﺔ
ﺑﺎﻟﻜﺎﻣﻞﺩﺍﺧﻞ ﺍﻟﺪﻟﻴﻞ ﺍﻷﺳﺎﺳﻲ ﻓﻲ ﻣﺤﺎﻭﻟﺔ ﻟﻔﻬﻢ ﺍﻟﻤﺮﺷﺤﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻭﺍﻟﻄﺮﻕ ﺍﻟﺘﻲ
ﻳﺘﻌﺎﻣﻞﺑﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻊ ﺍﻹﺩﺧﺎﻝ ﻏﻴﺮ ﺍﻟﻤﺘﻮﻗﻊ.
7.5.8ﺇﺫﺍ ﻧﺠﺤﺖ ﻓﻲ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﺣﻖ ﺍﻟﻮﺻﻮﻝ ﻟﻠﻘﺮﺍءﺓ ﺇﻟﻰ ﻣﻠﻔﺎﺕ ﻋﺸﻮﺍﺉﻴﺔ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ،
ﻓﺤﺎﻭﻝﺍﺳﺘﺮﺩﺍﺩ ﺃﻱ ﻣﻦ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ،ﻣﻤﺎ ﻗﺪ ﻳﻤﻜﻨّﻚ ﻣﻦ ﺗﺼﻌﻴﺪ ﻫﺠﻮﻣﻚ:
ﻣﻠﻔﺎﺕﺗﻜﻮﻳﻦ ﺍﻟﺨﺎﺩﻡ ﻭﺍﻟﺘﻄﺒﻴﻖ ،ﻻﻛﺘﺸﺎﻑ ﻧﻘﺎﻁ ﺿﻌﻒ ﺃﺧﺮﻯ ﺃﻭ ﺿﺒﻂ ﻫﺠﻮﻡ ﻣﺨﺘﻠﻒ -
ﻣﺼﺎﺩﺭﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ،ﻣﺜﻞ ﻣﻠﻔﺎﺕ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ MySQLﺃﻭ -
ﻣﻠﻔﺎﺕXML
ﻛﻮﺩﺍﻟﻤﺼﺪﺭ ﻟﺼﻔﺤﺎﺕ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻨﻔﻴﺬ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ ،ﻹﺟﺮﺍء ﻣﺮﺍﺟﻌﺔ ﻟﻠﻜﻮﺩ ﺑﺤﺜﺎً ﻋﻦ -
ﺍﻷﺧﻄﺎء
ﻣﻠﻔﺎﺕﺳﺠﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺘﻲ ﻗﺪ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﻣﺜﻞ ﺃﺳﻤﺎء ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ -
ﻭﺭﻣﻮﺯﺍﻟﺠﻠﺴﺔ
835 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
7.5.9ﺇﺫﺍ ﻧﺠﺤﺖ ﻓﻲ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﺣﻖ ﺍﻟﻮﺻﻮﻝ ﻟﻠﻜﺘﺎﺑﺔ ﺇﻟﻰ ﻣﻠﻔﺎﺕ ﻋﺸﻮﺍﺉﻴﺔ ﻋﻠﻰ ﺍﻟﺨﺎﺩﻡ،
ﻓﺘﺄﻛﺪﻣﻦ ﺇﻣﻜﺎﻧﻴﺔ ﺗﻨﻔﻴﺬ ﺃﻱ ﻣﻦ ﺍﻟﻬﺠﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ﻟﺘﺼﻌﻴﺪ ﻫﺠﻮﻣﻚ:
ﻛﺘﺎﺑﺔﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻨﺼﻴﺔ ﺇﻟﻰ ﺩﻟﻴﻞ ﻭﻳﺐ ﺑﺄﺫﻭﻧﺎﺕ ﺍﻟﺘﻨﻔﻴﺬ ﻭﺍﺳﺘﺪﻋﺎﺉﻬﺎ ﻣﻦ ﻣﺘﺼﻔﺤﻚ -
7.6.2ﺭﺍﺟﻊ ﺟﻤﻴﻊ ﺣﺎﻻﺕ ﺍﻻﺧﺘﺒﺎﺭ ﺍﻟﺘﻲ ﺍﺳﺘﺨﺪﻣﺖ ﺳﻼﺳﻞ ﺣﻘﻦ ﺍﻟﻨﺼﻮﺹ ﺍﻟﺒﺮﻣﺠﻴﺔ ،ﻭﺣﺪﺩ ﺃﻱ
ﺭﺳﺎﺉﻞﺧﻄﺄ ﺑﺮﻣﺠﻴﺔ ﻗﺪ ﺗﺸﻴﺮ ﺇﻟﻰ ﺃﻥ ﺇﺩﺧﺎﻟﻚ ﻗﻴﺪ ﺍﻟﺘﻨﻔﻴﺬ ﻭﻟﻜﻨﻪ ﺗﺴﺒﺐ ﻓﻲ ﺣﺪﻭﺙ
ﺧﻄﺄ.ﻗﺪ ﺗﺤﺘﺎﺝ ﻫﺬﻩ ﺍﻟﺮﺳﺎﺉﻞ ﺇﻟﻰ ﺿﺒﻂ ﺩﻗﻴﻖ ﻹﺟﺮﺍء ﺣﻘﻦ ﻧﺼﻮﺹ ﺑﺮﻣﺠﻴﺔ ﻧﺎﺟﺢ.
7.6.3ﺇﺫﺍ ﺑﺪﺍ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻌُﺮﺿَّﺎً ﻟﻠﺨﻄﺮ ،ﻓﺘﺤﻘﻖ ﻣﻦ ﺫﻟﻚ ﻋﻦ ﻃﺮﻳﻖ ﺣﻘﻦ ﺃﻭﺍﻣﺮ ﺇﺿﺎﻓﻴﺔ ﺧﺎﺻﺔ
ﺑﻤﻨﺼﺔﺍﻟﺒﺮﻣﺠﺔ ﺍﻟﻨﺼﻴﺔ ﺍﻟﻤﺴُﺘﺨﺪﻣﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺣﻤﻮﻻﺕ
ﻫﺠﻮﻣﻴﺔﻣﺸﺎﺑﻬﺔ ﻟﺘﻠﻚ ﺍﻟﻤﺴُﺘﺨﺪﻣﺔ ﻋﻨﺪ ﺍﻟﺘﻤﻮﻳﻪ ﻟﺤﻘﻦ ﺃﻭﺍﻣﺮ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ:
ﺍﻟﻨﻈﺎﻡ)'('ping%20127.0.0.1
7.7.2ﺭﺍﺟﻊ ﻧﺘﺎﺉﺞ ﺍﺧﺘﺒﺎﺭﺍﺕ ﺗﻀﻤﻴﻦ ﺍﻟﻤﻠﻔﺎﺕ ،ﻭﺣﺪﺩ ﺃﻳﺎً ﻣﻨﻬﺎ ﺗﺴﺒﺐ ﻓﻲ ﺗﺄﺧﻴﺮ ﻏﻴﺮ ﻃﺒﻴﻌﻲ ﻓﻲ
ﺍﺳﺘﺠﺎﺑﺔﺍﻟﺘﻄﺒﻴﻖ .ﻓﻲ ﻫﺬﻩ ﺍﻟﺤﺎﻻﺕ،
ﻗﺪﻳﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻧﻔﺴﻪ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ ﻭﻟﻜﻦ ﻃﻠﺒﺎﺕ HTTPﺍﻟﻨﺎﺗﺠﺔ ﻗﺪ ﺗﻮﻗﻔﺖ ﻋﻦ
ﺍﻟﻌﻤﻞﺑﺴﺒﺐ ﻋﻮﺍﻣﻞ ﺍﻟﺘﺼﻔﻴﺔ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﺍﻟﺸﺒﻜﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 836
7.7.3ﺇﺫﺍ ﻭﺟﺪﺕ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ ﻹﺩﺭﺍﺝ ﻣﻠﻒ ﻋﻦ ﺑﻌﺪ ،ﻓﻘﻢ ﺑﻨﺸﺮ ﺧﺎﺩﻡ ﻭﻳﺐ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﻧﺺ
ﺑﺮﻣﺠﻲﺿﺎﺭ ﺧﺎﺹ ﺑﺎﻟﻠﻐﺔ ﺍﻟﺘﻲ ﺗﺴﺘﻬﺪﻓﻬﺎ ،ﻭﺍﺳﺘﺨﺪﻡ ﺍﻷﻭﺍﻣﺮ ﻣﺜﻞ ﺗﻠﻚ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ
ﻻﺧﺘﺒﺎﺭﺣﻘﻦ ﺍﻟﻨﺺ ﺍﻟﺒﺮﻣﺠﻲ ﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺗﻨﻔﻴﺬ ﺍﻟﻨﺺ ﺍﻟﺒﺮﻣﺠﻲ ﺍﻟﺨﺎﺹ ﺑﻚ.
ﻧﺘﺎﺉﺞﺗﻌﻴﻴﻦ ﺍﻟﺘﻄﺒﻴﻖ
.8.6ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺨﻠﻔﻴﺔ
8.7. XXE 8.5. XPath .8.3ﺍﻟﺼﺎﺑﻮﻥ .8.2ﺃﺻﻠﻲ 8.1. SMTP
ﻃﻠﺐ
.8.4ﺑﺮﻭﺗﻮﻛﻮﻝ LDAP
:+test%0afoo %0a%2e%0aﺍﻟﻤﻮﺿﻮﻉ:+>youremail<%0aﺇﻟﻰ:+>youremail<%0aﻣﻦ%0aDATA%0a
d%0aRCPTﺍﻟﺒﺮﻳﺪ+ﻣﻦ>+:ﺑﺮﻳﺪﻙ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ<%0d%0aDATA%0d%0afoo%0d%0a%2e%0d%0a0%
+ﺇﻟﻰ+:
:+test%0d%0afoo%0d%0a%2e%0d%0aﺍﻟﻤﻮﺿﻮﻉ:+>youremail< %0d%0aﺇﻟﻰ
:+>youremail<%0d%0aﻣﻦd%0aﺍﻟﺒﻴﺎﻧﺎﺕ>youremail<%0d%0a0%
8.1.2ﺭﺍﺟﻊ ﺍﻟﻨﺘﺎﺉﺞ ﻟﺘﺤﺪﻳﺪ ﺃﻱ ﺭﺳﺎﺉﻞ ﺧﻄﺄ ﻳﻌﺮﺿﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ .ﺇﺫﺍ ﺑﺪﺕ ﻫﺬﻩ ﺍﻟﺮﺳﺎﺉﻞ ﻣﺘﻌﻠﻘﺔ
ﺑﺄﻱﻣﺸﻜﻠﺔ ﻓﻲ ﻭﻇﻴﻔﺔ ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ ،ﻓﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﻨﺖ ﺑﺤﺎﺟﺔ ﺇﻟﻰ ﺿﺒﻂ ﺇﺩﺧﺎﻟﻚ
ﺑﺪﻗﺔﻻﺳﺘﻐﻼﻝ ﺛﻐﺮﺓ ﺃﻣﻨﻴﺔ.
8.1.3ﺭﺍﻗﺐ ﻋﻨﻮﺍﻥ ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ ﺍﻟﺬﻱ ﺣﺪﺩﺗﻪ ﻟﻤﻌﺮﻓﺔ ﻣﺎ ﺇﺫﺍ ﺗﻢ ﺍﺳﺘﻼﻡ ﺃﻱ ﺭﺳﺎﺉﻞ ﺑﺮﻳﺪ
ﺇﻟﻜﺘﺮﻭﻧﻲ.
8.1.4ﺭﺍﺟﻊ ﻧﻤﻮﺫﺝ HTMLﺍﻟﺬﻱ ﻳﻨُﺸﺊ ﺍﻟﻄﻠﺐ ﺫﻱ ﺍﻟﺼﻠﺔ ﺑﻌﻨﺎﻳﺔ .ﻗﺪ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺩﻻﺉﻞ ﺗﺘﻌﻠﻖ
ﺑﺒﺮﻧﺎﻣﺞﺍﻟﺨﺎﺩﻡ ﺍﻟﻤﺴُﺘﺨﺪﻡ .ﻗﺪ ﻳﺤﺘﻮﻱ ﺃﻳﻀﺎً ﻋﻠﻰ ﺣﻘﻞ ﻣﺨﻔﻲ ﺃﻭ ﻣﻌُﻄﻞّ ﻳﺴُﺘﺨﺪﻡ ﻟﺘﺤﺪﻳﺪ
1100
4200
33000
ﺑﻴﺎﻧﺎﺕﻏﻴﺮ ﻣﺘﻮﻗﻌﺔ ﻳﺘﻢ ﺇﺭﺟﺎﻋﻬﺎ ﺑﻮﺍﺳﻄﺔ ﺍﻟﺘﻄﺒﻴﻖ ،ﻣﻤﺎ ﻗﺪ ﻳﺸﻴﺮ ﺇﻟﻰ ﺃﻥ ﺳﻠﺴﻠﺔ ﻓﻲ -
8.2.2.1ﻋﻨﺪ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻜﻮﻧﺎﺕ ﺍﻟﻜﻮﺩ ﺍﻷﺻﻠﻴﺔ ،ﺣﺪﺩ ﺃﻱ ﺑﻴﺎﻧﺎﺕ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ،
ﻭﺧﺎﺻﺔﻣﺆﺷﺮﺍﺕ ﺍﻟﻄﻮﻝ ،ﻭﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻹﺛﺎﺭﺓ ﺛﻐﺮﺍﺕ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ.
.8.2.2.2ﺿﻤﻦ ﻛﻞ ﻋﻨﺼﺮ ﻣﺴﺘﻬﺪﻑ ،ﺃﺭﺳﻞ ﺣﻤﻮﻻﺕ ﻣﻨﺎﺳﺒﺔ ﻣﺼﻤﻤﺔ ﻟﺘﻔﻌﻴﻞ ﺃﻱ ﺛﻐﺮﺍﺕ ﺃﻣﻨﻴﺔ.
ﻟﻜﻞﻋﻨﺼﺮ ﺑﻴﺎﻧﺎﺕ ﻣﺴﺘﻬﺪﻑ ،ﺃﺭﺳﻞ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﻟﻘﻴﻢ ﺍﻟﻤﺨﺘﻠﻔﺔ ﺑﺎﻟﺘﺮﺗﻴﺐ ،ﺗﻤﺜﻞ ﺣﺎﻻﺕ
ﺣﺪﻭﺩﻳﺔﻟﻺﺻﺪﺍﺭﺍﺕ ﺍﻟﻤﻮﻗﻌﺔ ﻭﻏﻴﺮ ﺍﻟﻤﻮﻗﻌﺔ ﻷﺣﺠﺎﻡ ﻣﺨﺘﻠﻔﺔ ﻣﻦ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ .ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ:
(ﻭx80 )127 128ﻭ0x7f 0 -
8.2.2.3ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﺗﻤﺜﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﻳﺘﻢ ﺗﻌﺪﻳﻠﻬﺎ ﻓﻲ ﺷﻜﻞ ﺳﺪﺍﺳﻲ ﻋﺸﺮﻱ ،ﻗﻢ ﺑﺈﺭﺳﺎﻝ
ﺇﺻﺪﺍﺭﺍﺕﺻﻐﻴﺮﺓ ﻭﻛﺒﻴﺮﺓ ﻟﻜﻞ ﺣﺎﻟﺔ ﺍﺧﺘﺒﺎﺭ ،ﻣﺜﻞff7f
ﻭ7fff.ﺇﺫﺍ ﺗﻢ ﺇﺭﺳﺎﻝ ﺍﻷﺭﻗﺎﻡ ﺍﻟﺴﺪﺍﺳﻴﺔ ﻋﺸﺮﻳﺔ ﻓﻲ ﻧﻤﻮﺫﺝ ،ASCIIﻓﺎﺳﺘﺨﺪﻡ ﻧﻔﺲ ﺍﻟﺤﺎﻟﺔ
ﺍﻟﺘﻲﻳﺴﺘﺨﺪﻣﻬﺎ ﺍﻟﺘﻄﺒﻴﻖ ﻧﻔﺴﻪ ﻟﻸﺣﺮﻑ ﺍﻷﺑﺠﺪﻳﺔ ﻟﻠﺘﺄﻛﺪ ﻣﻦ ﻓﻚ ﺗﺸﻔﻴﺮﻫﺎ ﺑﺸﻜﻞ ﺻﺤﻴﺢ.
8.3.2ﺇﺫﺍ ﺗﻢ ﺗﻠﻘﻲ ﺧﻄﺄ ،ﻗﻢ ﺑﺈﺭﺳﺎﻝ ﺯﻭﺝ ﺻﺎﻟﺢ ﻣﻦ ﻋﻼﻣﺎﺕ ﺍﻟﻔﺘﺢ ﻭﺍﻹﻏﻼﻕ ،ﻣﺜﻞ >ﻓﻮ<>/ﻓﻮ<.ﺇﺫﺍ
ﺃﺩﻯﻫﺬﺍ ﺇﻟﻰ ﺍﺧﺘﻔﺎء ﺍﻟﺨﻄﺄ ،ﻓﻘﺪ ﻳﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ.
8.3.3ﺇﺫﺍ ﺗﻢ ﻧﺴﺦ ﺍﻟﻌﻨﺼﺮ ﺍﻟﺬﻱ ﺃﺭﺳﻠﺘﻪ ﺇﻟﻰ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ،ﻓﺄﺭﺳﻞ ﺍﻟﻘﻴﻤﺘﻴﻦ ﺍﻟﺘﺎﻟﻴﺘﻴﻦ
ﺑﺎﻟﺘﺮﺗﻴﺐ.ﺇﺫﺍ ﻭﺟﺪﺕ ﺃﻥ ﺃﺣﺪ ﺍﻟﻌﻨﺼﺮﻳﻦ ﻳﻌُﺎﺩ ﻛﻌﻨﺼﺮ ﺁﺧﺮ ،ﺃﻭ ﺑﺒﺴﺎﻃﺔ ﻛـﺍﻣﺘﺤﺎﻥ،ﻳﻤﻜﻨﻚ
ﺍﻟﺘﺄﻛﺪﻣﻦ ﺃﻥ ﺇﺩﺧﺎﻟﻚ ﻳﺘﻢ ﺇﺩﺭﺍﺟﻪ ﻓﻲ ﺭﺳﺎﻟﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ .XML
ﺍﺧﺘﺒﺎﺭ></foo
ﺍﺧﺘﺒﺎﺭ><foo<>/foo
8.3.4ﺇﺫﺍ ﺍﺣﺘﻮﻯ ﻃﻠﺐ HTTPﻋﻠﻰ ﻋﺪﺓ ﻣﻌﻠﻤﺎﺕ ﻗﺪ ﺗﻜﻮﻥ ﻣﺪُﺭﺟﺔ ﻓﻲ ﺭﺳﺎﻟﺔ ،SOAPﻓﺤﺎﻭﻝ
ﺇﺩﺭﺍﺝﺣﺮﻑ ﺍﻟﺘﻌﻠﻴﻖ ﺍﻻﻓﺘﺘﺎﺣﻲ >! --ﻓﻲ ﺃﺣﺪ ﺍﻟﻤﻌﻠﻤﺎﺕ ﻭﺣﺮﻑ ﺍﻟﺘﻌﻠﻴﻖ ﺍﻟﺨﺘﺎﻣﻲ ! <--ﻓﻲ
ﻣﻌﻠﻤﺔﺃﺧﺮﻯ .ﺛﻢ ﺑﺪﻝّ ﻫﺬﻩ ﺍﻟﻤﻌﻠﻤﺎﺕ )ﻷﻧﻚ ﻻ ﺗﻌﺮﻑ ﺗﺮﺗﻴﺐ ﻇﻬﻮﺭ ﺍﻟﻤﻌﻠﻤﺎﺕ( .ﻗﺪ ﻳﺆﺩﻱ
ﻫﺬﺍﺇﻟﻰ ﺣﺬﻑ ﺟﺰء ﻣﻦ ﺭﺳﺎﻟﺔ SOAPﺍﻟﺨﺎﺻﺔ ﺑﺎﻟﺨﺎﺩﻡ ،ﻣﻤﺎ ﻗﺪ ﻳﻐُﻴﺮّ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ﺃﻭ
ﻳﺆُﺩﻱﺇﻟﻰ ﺣﺎﻟﺔ ﺧﻄﺄ ﻣﺨﺘﻠﻔﺔ ﻗﺪ ﺗﻔُﺼﺢ ﻋﻦ ﻣﻌﻠﻮﻣﺎﺕ.
ﻳﺆﺩﻱﻫﺬﺍ ﺍﻹﺩﺧﺎﻝ ﺇﻟﻰ ﺇﺑﻄﺎﻝ ﺑﻨﺎء ﺟﻤﻠﺔ ﺍﻻﺳﺘﻌﻼﻡ ،ﻟﺬﺍ ﺇﺫﺍ ﺣﺪﺙ ﺧﻄﺄ ﺃﻭ ﺳﻠﻮﻙ ﻏﻴﺮ
ﻃﺒﻴﻌﻲﺁﺧﺮ ،ﻓﻘﺪ ﻳﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ )ﻋﻠﻰ ﺍﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﻭﻇﺎﺉﻒ
ﺍﻟﺘﻄﺒﻴﻖﺍﻷﺧﺮﻯ ﻭﻣﻮﺍﻗﻒ ﺍﻟﺤﻘﻦ ﻗﺪ ﺗﺘﺼﺮﻑ ﺑﻨﻔﺲ ﺍﻟﻄﺮﻳﻘﺔ(.
ﻋﺎﺩ.ﺳﻲ ﺇﻥﻳﺘﻢ ﺩﻋﻢ ﺍﻟﺨﺎﺻﻴﺔ ﺑﻮﺍﺳﻄﺔ ﺟﻤﻴﻊ ﺗﻄﺒﻴﻘﺎﺕ LDAPﻭﻫﻲ ﻣﻔﻴﺪﺓ ﺇﺫﺍ ﻛﻨﺖ ﻻ
ﺗﻌﺮﻑﺃﻱ ﺗﻔﺎﺻﻴﻞ ﺣﻮﻝ ﺍﻟﺪﻟﻴﻞ ﺍﻟﺬﻱ ﺗﺴﺘﻔﺴﺮ ﻋﻨﻪ:
*=( )cn
*=* ( ( )|)cn
* ( ( %00
٨.٤.٥ﺟﺮﺏّ ﺇﺿﺎﻓﺔ ﺳﻤﺎﺕ ﺇﺿﺎﻓﻴﺔ ﺇﻟﻰ ﻧﻬﺎﻳﺔ ﻣﺪُﺧﻼﺗﻚ ،ﻣﻊ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻔﻮﺍﺻﻞ ﻟﻔﺼﻞ ﻛﻞ
ﻋﻨﺼﺮ.ﺍﺧﺘﺒﺮ ﻛﻞ ﺳﻤﺔ ﻋﻠﻰ ﺣﺪﺓ .ﻳﺸﻴﺮ ﺍﻟﺨﻄﺄ ﺇﻟﻰ ﺃﻥ ﺍﻟﺴﻤﺔ ﻏﻴﺮ ﺻﺎﻟﺤﺔ ﻓﻲ ﺍﻟﺴﻴﺎﻕ
ﺍﻟﺤﺎﻟﻲ.ﺗﺴُﺘﺨﺪﻡ ﺍﻟﺴﻤﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ﻋﺎﺩﺓ ًﻓﻲ ﺍﻟﺪﻻﺉﻞ ﺍﻟﺘﻲ ﻳﺴﺘﻌﻠﻢ ﻋﻨﻬﺎ :LDAP
ﺳﻲﺇﻥ
ﺝ
ﺑﺮﻳﺪ
ﺍﻻﺳﻢﺍﻷﻭﻝ
ﺍ
ﺍﻭ
ﺗﻴﺎﺭﻣﺴﺘﻤﺮ
ﻝ
ﻣﻌﺮﻑﺍﻟﻤﺴﺘﺨﺪﻡ
ﻓﺉﺔﺍﻟﻜﺎﺉﻦ
ﺍﻟﻌﻨﻮﺍﻥﺍﻟﺒﺮﻳﺪﻱ
dn
ﺳﻦ
8.5.2ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﻤﻌﻠﻤﺔ ﺭﻗﻤﻴﺔ ،ﻓﺤﺎﻭﻝ ﺃﻳﻀﺎً ﺍﺳﺘﺨﺪﺍﻡ ﺳﻼﺳﻞ ﺍﻻﺧﺘﺒﺎﺭ ﺍﻟﺘﺎﻟﻴﺔ:
1ﺃﻭ count)parent::*]position)(=1[(=0 1ﺃﻭ (=1[(<0
)count)parent::*]position
8.5.3ﺇﺫﺍ ﺗﺴﺒﺒﺖ ﺃﻱ ٌّﻣﻦ ﺍﻟﺴﻼﺳﻞ ﺍﻟﺴﺎﺑﻘﺔ ﻓﻲ ﺳﻠﻮﻙ ٍﻣﺨﺘﻠﻒ ٍﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺩﻭﻥ ﺣﺪﻭﺙ
ﺧﻄﺄ،ﻓﻤﻦ ﺍﻟﻤﺮُﺟﺢَّ ﺃﻥ ﺗﺘﻤﻜﻦ ﻣﻦ ﺍﺳﺘﺨﺮﺍﺝ ﺑﻴﺎﻧﺎﺕ ٍﻋﺸﻮﺍﺉﻴﺔ ٍﻋﻦ ﻃﺮﻳﻖ ﺻﻴﺎﻏﺔ ﺷﺮﻭﻁ
ﺍﺧﺘﺒﺎﺭ ٍﻻﺳﺘﺨﺮﺍﺝ ﺑﺎﻳﺖ ٍﻭﺍﺣﺪ ٍﻣﻦ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﻓﻲ ﻛﻞ ِّﻣﺮﺓ .ﺍﺳﺘﺨﺪﻡ ﺳﻠﺴﻠﺔ ًﻣﻦ ﺍﻟﺸﺮﻭﻁ
ﺑﺎﻟﺸﻜﻞﺍﻟﺘﺎﻟﻲ ﻟﺘﺤﺪﻳﺪ ﺍﺳﻢ ﺍﻟﻌﻘﺪﺓ ﺍﻷﻡ ﺍﻟﺤﺎﻟﻴﺔ:
8.5.4ﺑﻌﺪ ﺍﺳﺘﺨﺮﺍﺝ ﺍﺳﻢ ﺍﻟﻌﻘﺪﺓ ﺍﻷﺻﻠﻴﺔ ،ﺍﺳﺘﺨﺪﻡ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﻟﺸﺮﻭﻁ ﺑﺎﻟﺸﻜﻞ ﺍﻟﺘﺎﻟﻲ
ﻻﺳﺘﺨﺮﺍﺝﻛﺎﻓﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺩﺍﺧﻞ ﺷﺠﺮﺓ :XML
ﺳﻠﺴﻠﺔﻓﺮﻋﻴﺔ)//ﺍﺳﻢ ﺍﻟﻌﻘﺪﺓ ﺍﻷﺻﻠﻴﺔ]ﺍﻟﻤﻮﺿﻊ)(=/[1ﺍﻟﻌﻘﺪﺓ ﺍﻟﻔﺮﻋﻴﺔ]::ﺍﻟﻤﻮﺿﻊ)(=/[1ﺍﻟﻨﺺ)('a'=(1،1،
8.6.2ﺍﺳﺘﻬﺪﻑ ﻣﻌﻠﻤﺔ ﻃﻠﺐ ﺗﻘﻮﻡ ﺑﺈﺭﺟﺎﻉ ﺻﻔﺤﺔ ﻣﻌﻴﻨﺔ ﻟﻘﻴﻤﺔ ﻣﻌﻴﻨﺔ ،ﻭﺣﺎﻭﻝ ﺇﺿﺎﻓﺔ ﻣﻌﻠﻤﺔ
ﺟﺪﻳﺪﺓﻣﺤﻘﻮﻧﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﻨﺎء ﺟﻤﻠﺔ ﻣﺨﺘﻠﻒ ،ﺑﻤﺎ ﻓﻲ ﺫﻟﻚ ﻣﺎ ﻳﻠﻲ:
ﺇﺫﺍﻛﺎﻥ ﺳﻠﻮﻙ ﺍﻟﺘﻄﺒﻴﻖ ﻛﻤﺎ ﻟﻮ ﺃﻥ ﺍﻟﻤﻌﻠﻤﺔ ﺍﻷﺻﻠﻴﺔ ﻟﻢ ﺗﻌُﺪﻝّ ،ﻓﻬﻨﺎﻙ ﺍﺣﺘﻤﺎﻝ ﻟﻮﺟﻮﺩ
ﺛﻐﺮﺍﺕﻓﻲ ﺣﻘﻦ ﻣﻌﻠﻤﺎﺕ .HTTPﺣﺎﻭﻝ ﻣﻬﺎﺟﻤﺔ ﻃﻠﺐ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺨﻠﻔﻴﺔ ﻋﻦ ﻃﺮﻳﻖ ﺣﻘﻦ
ﺃﺯﻭﺍﺝﻣﻦ ﺃﺳﻤﺎء/ﻗﻴﻢ ﺍﻟﻤﻌﻠﻤﺎﺕ ﺍﻟﻤﻌﺮﻭﻓﺔ ،ﻣﻤﺎ ﻗﺪ ﻳﻐُﻴﺮّ ﻣﻨﻄﻖ ﺍﻟﻮﺍﺟﻬﺔ ﺍﻟﺨﻠﻔﻴﺔ ،ﻛﻤﺎ ﻫﻮ
ﻣﻮﺿﺢﻓﻲ ﺍﻟﻔﺼﻞ ﺍﻟﻌﺎﺷﺮ.
ﺇﺫﺍﻟﻢ ﻳﺘﻢ ﺍﻟﻌﺜﻮﺭ ﻋﻠﻰ ﺣﻘﻞ ﻣﻌﺮﻭﻑ ،ﺣﺪﺩ ﻛﻴﺎﻧﺎً ﺧﺎﺭﺟﻴﺎً ﻟـ
""http://192.168.1.1:25ﻭﺭﺍﻗﺐ ﻭﻗﺖ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺼﻔﺤﺔ .ﺇﺫﺍ ﺍﺳﺘﻐﺮﻗﺖ ﺍﻟﺼﻔﺤﺔ ﻭﻗﺘﺎً
ﺃﻃﻮﻝﺑﻜﺜﻴﺮ ﻟﻠﻌﻮﺩﺓ ﺃﻭ ﺗﻮﻗﻔﺖ ﻋﻦ ﺍﻟﻌﻤﻞ ،ﻓﻘﺪ ﺗﻜﻮﻥ ﻋﺮﺿﺔ ﻟﻠﺨﻄﺮ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 842
9.1.2ﺭﺍﺟﻊ ﻧﺘﺎﺉﺞ ﺗﻤﺎﺭﻳﻦ ﺗﻌﻴﻴﻦ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺨﺎﺹ ﺑﻚ ،ﻭﺣﺪﺩ ﺃﻱ ﺣﺎﻻﺕ ﻟﻠﻤﻴﺰﺍﺕ ﺍﻟﺘﺎﻟﻴﺔ:
ﺍﻻﻧﺘﻘﺎﻻﺕﻋﺒﺮ ﺣﺪﻭﺩ ﺍﻟﺜﻘﺔ )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﺍﻻﻧﺘﻘﺎﻝ ﻣﻦ ﻛﻮﻧﻚ ﻣﺠﻬﻮﻝ ﺍﻟﻬﻮﻳﺔ ﺇﻟﻰ -
ﻳﺘﻢﻃﻠﺒﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ﺇﺭﺳﺎﻝ ﺍﺳﻢ ﺩﺍﻟﺔ ﺃﻭ ﻓﻬﺮﺱ ﺿﻤﻦ ﻣﻌﻠﻤﺔ ﻃﻠﺐ .ﺗﺄﻛﺪ ﻣﻦ ﻓﻬﻢ ﺁﻟﻴﺎﺕ
ﺍﻟﺘﻄﺒﻴﻖﻟﺘﻮﻓﻴﺮ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻣﺮﺍﺣﻞ ﻣﺨﺘﻠﻔﺔ.
9.2.3ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺍﻟﺘﺪﺍﺧﻞ ﻣﻊ ﺗﺴﻠﺴﻞ ﺍﻟﺨﻄﻮﺍﺕ ،ﺣﺎﻭﻝ ﺃﺧﺬ ﺍﻟﻤﻌﻠﻤﺎﺕ ﺍﻟﻤﺮُﺳﻠﺔ ﻓﻲ ﻣﺮﺣﻠﺔ ﻣﺎ
ﻣﻦﺍﻟﻌﻤﻠﻴﺔ ﻭﺇﺭﺳﺎﻟﻬﺎ ﻓﻲ ﻣﺮﺣﻠﺔ ﺃﺧﺮﻯ .ﺇﺫﺍ ﺗﻢ ﺗﺤﺪﻳﺚ ﻋﻨﺎﺻﺮ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺫﺍﺕ ﺍﻟﺼﻠﺔ ﺿﻤﻦ
ﺣﺎﻟﺔﺍﻟﺘﻄﺒﻴﻖ ،ﻓﻌﻠﻴﻚ ﺍﻟﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺍﺳﺘﻐﻼﻝ ﻫﺬﺍ ﺍﻟﺴﻠﻮﻙ ﻟﻠﺘﺪﺧﻞ ﻓﻲ
ﻣﻨﻄﻖﺍﻟﺘﻄﺒﻴﻖ.
9.2.4ﺇﺫﺍ ﻛﺎﻧﺖ ﻋﻤﻠﻴﺔ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻤﺮﺍﺣﻞ ﺗﺘﻀﻤﻦ ﻣﺴﺘﺨﺪﻣﻴﻦ ﻣﺨﺘﻠﻔﻴﻦ ﻳﺠُﺮﻭﻥ ﻋﻤﻠﻴﺎﺕ ﻋﻠﻰ
ﻧﻔﺲﻣﺠﻤﻮﻋﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﻓﺤﺎﻭﻝ ﺃﺧﺬ ﻛﻞ ﻣﻌُﺎﻣﻞ ﻳﺮُﺳﻠﻪ ﻣﺴﺘﺨﺪﻡ ﻭﺍﺣﺪ ﻭﺇﺭﺳﺎﻟﻪ
ﻛﻤﺴﺘﺨﺪﻡﺁﺧﺮ .ﺇﺫﺍ ﺗﻢ ﻗﺒﻮﻟﻬﺎ ﻭﻣﻌﺎﻟﺠﺘﻬﺎ ﻛﻤﺴﺘﺨﺪﻡ ﺁﺧﺮ ،ﻓﺎﺳﺘﻜﺸﻒ ﺁﺛﺎﺭ ﻫﺬﺍ ﺍﻟﺴﻠﻮﻙ،
ﻛﻤﺎﻫﻮ ﻣﻮﺿﺢ ﺳﺎﺑﻘﺎً.
9.2.5ﻓﻲ ﺳﻴﺎﻕ ﺍﻟﻮﻇﻴﻔﺔ ﺍﻟﻤﻄُﺒﻘّﺔ ،ﺣﺎﻭﻝ ﻓﻬﻢ ﺍﻻﻓﺘﺮﺍﺿﺎﺕ ﺍﻟﺘﻲ ﻗﺪ ﻳﻜﻮﻥ ﺍﻟﻤﻄﻮﺭﻭﻥ ﻗﺪ
ﻭﺿﻌﻮﻫﺎ،ﻭﻣﻜﺎﻥ ﺍﻟﻬﺠﻮﻡ ﺍﻟﺮﺉﻴﺴﻲ .ﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﻃﺮﻕ ﺍﻧﺘﻬﺎﻙ ﻫﺬﻩ ﺍﻻﻓﺘﺮﺍﺿﺎﺕ
ﻭﺍﻟﺘﺴﺒﺐﻓﻲ ﺳﻠﻮﻛﻴﺎﺕ ﻏﻴﺮ ﻣﺮﻏﻮﺏ ﻓﻴﻬﺎ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ.
9.2.6ﻋﻨﺪ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺩﻭﺍﻝ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻤﺮﺍﺣﻞ ﺑﺸﻜﻞ ﻏﻴﺮ ﻣﺘﺴﻠﺴﻞ ،ﻣﻦ ﺍﻟﺸﺎﺉﻊ ﻣﻮﺍﺟﻬﺔ
ﻣﺠﻤﻮﻋﺔﻣﺘﻨﻮﻋﺔ ﻣﻦ ﺍﻟﺤﺎﻻﺕ ﺍﻟﺸﺎﺫﺓ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ ،ﻣﺜﻞ ﻣﺘﻐﻴﺮﺍﺕ ﺑﻘﻴﻢ ﻓﺎﺭﻏﺔ ﺃﻭ ﻏﻴﺮ
ﻣﻬُﻴﺄﺓ،ﻭﺣﺎﻻﺕ ﻏﻴﺮ ﻣﺤُﺪﺩﺓ ﺟﺰﺉﻴﺎً ﺃﻭ ﻏﻴﺮ ﻣﺘﺴﻘﺔ ،ﻭﺳﻠﻮﻛﻴﺎﺕ ﺃﺧﺮﻯ ﻏﻴﺮ ﻣﺘﻮﻗﻌﺔ .ﺍﺑﺤﺚ
ﻋﻦﺭﺳﺎﺉﻞ ﺧﻄﺄ ﻣﺜُﻴﺮﺓ ﻟﻼﻫﺘﻤﺎﻡ ﻭﻣﺨﺮﺟﺎﺕ ﺗﺼﺤﻴﺢ ﺃﺧﻄﺎء ،ﻭﺍﻟﺘﻲ ﻳﻤُﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ
ﻟﻔﻬﻢﺁﻟﻴﺔ ﻋﻤﻞ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺪﺍﺧﻠﻴﺔ ﺑﺸﻜﻞ ﺃﻓﻀﻞ ،ﻭﺑﺎﻟﺘﺎﻟﻲ ﺿﺒﻂ ﺍﻟﻬﺠﻮﻡ ﺍﻟﺤﺎﻟﻲ ﺃﻭ ﺃﻱ
ﻫﺠﻮﻡﺁﺧﺮ.
9.3.2ﻟﻜﻞ ﻣﻌﻠﻤﺔ ،ﺍﺣﺬﻑ ﺍﺳﻢ ﺍﻟﻤﻌﻠﻤﺔ ﻭﻗﻴﻤﺘﻬﺎ ﻣﻦ ﺍﻟﻄﻠﺐ .ﺭﺍﻗﺐ ﺍﺳﺘﺠﺎﺑﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺤﺜﺎً
ﻋﻦﺃﻱ ﺍﺧﺘﻼﻑ ﻓﻲ ﺳﻠﻮﻛﻪ ،ﻭﻋﻦ ﺃﻱ ﺭﺳﺎﺉﻞ ﺧﻄﺄ ﺗﺸُﻴﺮ ﺇﻟﻰ ﻣﻨﻄﻖ ﺍﻟﺘﻨﻔﻴﺬ.
9.3.3ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻄﻠﺐ ﺍﻟﺬﻱ ﺗﻘﻮﻡ ﺑﻤﻌﺎﻟﺠﺘﻪ ﺟﺰءﺍً ﻣﻦ ﻋﻤﻠﻴﺔ ﻣﺘﻌﺪﺩﺓ ﺍﻟﻤﺮﺍﺣﻞ ،ﻓﺎﺗﺒﻊ ﺍﻟﻌﻤﻠﻴﺔ ﺣﺘﻰ
ﺍﻛﺘﻤﺎﻟﻬﺎ،ﻷﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻗﺪ ﻳﺨﺰﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺮﺳﻠﺔ ﻓﻲ ﻣﺮﺍﺣﻞ ﺳﺎﺑﻘﺔ ﺿﻤﻦ ﺍﻟﺠﻠﺴﺔ ﺛﻢ
ﻳﻌﺎﻟﺠﻬﺎﻓﻲ ﻣﺮﺣﻠﺔ ﻻﺣﻘﺔ.
ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ 844
9.4.2ﺣﺎﻭﻝ ﺇﻳﺠﺎﺩ ﻃﺮﻕ ﻹﺟﺮﺍء ﺍﻧﺘﻘﺎﻻﺕ ﻏﻴﺮ ﺳﻠﻴﻤﺔ ﻋﺒﺮ ﺣﺪﻭﺩ ﺍﻟﺜﻘﺔ ﻣﻦ ﺧﻼﻝ ﺗﺠﻤﻴﻊ ﺍﻟﺤﺎﻟﺔ
ﺫﺍﺕﺍﻟﺼﻠﺔ ﻓﻲ ﻣﻨﻄﻘﺔ ﻣﺎ ،ﺛﻢ ﺍﻻﻧﺘﻘﺎﻝ ﺇﻟﻰ ﻣﻨﻄﻘﺔ ﺃﺧﺮﻯ ﺑﻄﺮﻳﻘﺔ ﻏﻴﺮ ﻃﺒﻴﻌﻴﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ،ﺑﻌﺪ ﺇﻛﻤﺎﻝ ﺟﺰء ﻣﻦ ﻋﻤﻠﻴﺔ ﺍﺳﺘﺮﺩﺍﺩ ﺍﻟﺤﺴﺎﺏ ،ﺣﺎﻭﻝ ﺍﻻﻧﺘﻘﺎﻝ ﺇﻟﻰ ﺻﻔﺤﺔ ﺧﺎﺻﺔ
ﺑﻤﺴﺘﺨﺪﻡﻣﺼُﺎﺩﻕ ﻋﻠﻴﻪ .ﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻌُﻄﻴﻚ ﻣﺴﺘﻮﻯ ﺛﻘﺔ ﻏﻴﺮ ﻣﻨﺎﺳﺐ
ﻋﻨﺪﺍﻻﻧﺘﻘﺎﻝ ﺑﻬﺬﻩ ﺍﻟﻄﺮﻳﻘﺔ.
9.4.3ﺣﺎﻭﻝ ﺗﺤﺪﻳﺪ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻦ ﺃﻱ ﻭﻇﻴﻔﺔ ﺫﺍﺕ ﺍﻣﺘﻴﺎﺯ ﺃﻋﻠﻰ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ
ﺃﻭﻏﻴﺮ ﻣﺒﺎﺷﺮ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺃﻭ ﺍﺳﺘﻨﺘﺎﺟﻬﺎ.
9.5.2ﺗﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺳﻠﺴﻠﺔ ﻣﻦ ﺍﻟﻤﻌﺎﻣﻼﺕ ﺍﻟﻤﺘﺘﺎﻟﻴﺔ ﻹﻧﺸﺎء ﺣﺎﻟﺔ
ﻳﻤﻜﻨﻚﺍﺳﺘﻐﻼﻟﻬﺎ ﻟﻐﺮﺽ ﻣﻔﻴﺪ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ،ﻗﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﺇﺟﺮﺍء ﻋﺪﺓ ﺗﺤﻮﻳﻼﺕ
ﻣﻨﺨﻔﻀﺔﺍﻟﻘﻴﻤﺔ ﺑﻴﻦ ﺍﻟﺤﺴﺎﺑﺎﺕ ﻟﺘﺠﻤﻴﻊ ﺭﺻﻴﺪ ﻛﺒﻴﺮ ﻛﺎﻥ ﻣﻨﻄﻖ ﺍﻟﺘﻄﺒﻴﻖ ﻳﻬﺪﻑ ﺇﻟﻰ
ﻣﻨﻌﻪ.
9.5.3ﺇﺫﺍ ﻗﺎﻡ ﺍﻟﺘﻄﺒﻴﻖ ﺑﺘﻌﺪﻳﻞ ﺍﻷﺳﻌﺎﺭ ﺃﻭ ﻏﻴﺮﻫﺎ ﻣﻦ ﺍﻟﻘﻴﻢ ﺍﻟﺤﺴﺎﺳﺔ ﺑﻨﺎء ًﻋﻠﻰ ﻣﻌﺎﻳﻴﺮ ﺗﺤُﺪﺩﻫﺎ
ﺑﻴﺎﻧﺎﺕﺃﻭ ﺇﺟﺮﺍءﺍﺕ ﺧﺎﺿﻌﺔ ﻟﺴﻴﻄﺮﺓ ﺍﻟﻤﺴﺘﺨﺪﻡ ،ﻓﻌﻠﻴﻚ ﺃﻭﻻ ًﻓﻬﻢ ﺍﻟﺨﻮﺍﺭﺯﻣﻴﺎﺕ ﺍﻟﺘﻲ
ﻳﺴﺘﺨﺪﻣﻬﺎﺍﻟﺘﻄﺒﻴﻖ ،ﻭﺍﻟﻨﻘﻄﺔ ﺍﻟﺘﻲ ﺗﺠُﺮﻯ ﻓﻴﻬﺎ ﺍﻟﺘﻌﺪﻳﻼﺕ ﺿﻤﻦ ﻣﻨﻄﻘﻪ .ﺣﺪﺩ ﻣﺎ ﺇﺫﺍ
ﻛﺎﻧﺖﻫﺬﻩ ﺍﻟﺘﻌﺪﻳﻼﺕ ﺗﺠُﺮﻯ ﻟﻤﺮﺓ ﻭﺍﺣﺪﺓ ﻓﻘﻂ ،ﺃﻭ ﻣﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺗﺮُﺍﺟﻊ ﺍﺳﺘﺠﺎﺑﺔ ًﻹﺟﺮﺍءﺍﺕ
ﺃﺧﺮﻯﻳﻘﻮﻡ ﺑﻬﺎ ﺍﻟﻤﺴﺘﺨﺪﻡ.
9.5.4ﺣﺎﻭﻝ ﺇﻳﺠﺎﺩ ﻃﺮﻕ ﻟﻠﺘﻼﻋﺐ ﺑﺴﻠﻮﻙ ﺍﻟﺘﻄﺒﻴﻖ ﻹﺩﺧﺎﻟﻪ ﻓﻲ ﺣﺎﻟﺔ ﺣﻴﺚ ﻻ ﺗﺘﻮﺍﻓﻖ ﺍﻟﺘﻌﺪﻳﻼﺕ
ﺍﻟﺘﻲﻃﺒﻘﻬﺎ ﻣﻊ ﺍﻟﻤﻌﺎﻳﻴﺮ ﺍﻷﺻﻠﻴﺔ ﺍﻟﺘﻲ ﻗﺼﺪﻫﺎ ﻣﺼﻤﻤﻮﻩ.
845 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﻫﻞﻳﺴﺘﺨﺪﻡ ﻣﺮﻓﻖ ﺍﻟﻮﺻﻮﻝ ﻋﻦ ﺑﻌﺪ ﺑﺮﻭﺗﻮﻛﻮﻻً ﺁﻣﻨﺎً ﻭﺑﻨﻴﺔ ﺃﺳﺎﺳﻴﺔ ﻣﻌﺰﺯﺓ ﺑﺸﻜﻞ -
ﻣﻨﺎﺳﺐ؟
ﻫﻞﻳﻤﻜﻦ ﻟﻠﻌﻤﻼء ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﻠﻔﺎﺕ ﻭﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻤﻮﺍﺭﺩ ﺍﻷﺧﺮﻯ ﺍﻟﺘﻲ ﻻ ﻳﺤﺘﺎﺟﻮﻥ ﺇﻟﻰ -
ﻋﺸﻮﺍﺉﻴﺔ؟
10.1.2ﺇﺫﺍﺗﻢ ﺍﺳﺘﺨﺪﺍﻡ ﺗﻄﺒﻴﻖ ﺧﺎﺹ ﻟﻠﺴﻤﺎﺡ ﻟﻠﻌﻤﻼء ﺑﺘﻜﻮﻳﻦ ﺑﻴﺉﺔ ﻣﺸﺘﺮﻛﺔ ﻭﺗﺨﺼﻴﺼﻬﺎ ،ﻓﻔﻜﺮ
ﻓﻲﺍﺳﺘﻬﺪﺍﻑ ﻫﺬﺍ ﺍﻟﺘﻄﺒﻴﻖ ﻛﻄﺮﻳﻘﺔ ﻟﺘﻬﺪﻳﺪ ﺍﻟﺒﻴﺉﺔ ﻧﻔﺴﻬﺎ ﻭﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﻔﺮﺩﻳﺔ ﺍﻟﺘﻲ
ﺗﻌﻤﻞﺩﺍﺧﻠﻬﺎ.
10.1.3ﺇﺫﺍﻛﺎﻥ ﺑﺈﻣﻜﺎﻧﻚ ﺗﺤﻘﻴﻖ ﺗﻨﻔﻴﺬ ﺍﻷﻭﺍﻣﺮ ﺃﻭ ﺣﻘﻦ SQLﺃﻭ ﺍﻟﻮﺻﻮﻝ ﺍﻟﻌﺸﻮﺍﺉﻲ ﺇﻟﻰ ﺍﻟﻤﻠﻔﺎﺕ
ﺩﺍﺧﻞﺗﻄﺒﻴﻖ ﻭﺍﺣﺪ ،ﻓﻘﻢ ﺑﺎﻟﺘﺤﻘﻴﻖ ﺑﻌﻨﺎﻳﺔ ﻟﻤﻌﺮﻓﺔ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻫﺬﺍ ﻳﻮﻓﺮ ﺃﻱ ﻃﺮﻳﻘﺔ ﻟﺘﺼﻌﻴﺪ
ﻫﺠﻮﻣﻚﻻﺳﺘﻬﺪﺍﻑ ﺗﻄﺒﻴﻘﺎﺕ ﺃﺧﺮﻯ.
11.1.2ﻗﻢ ﺑﺈﺟﺮﺍء ﻓﺤﺺ ﻣﻨﻔﺬ ﻟﺨﺎﺩﻡ ﺍﻟﻮﻳﺐ ﻟﺘﺤﺪﻳﺪ ﺃﻱ ﻭﺍﺟﻬﺎﺕ ﺇﺩﺍﺭﻳﺔ ﺗﻌﻤﻞ ﻋﻠﻰ ﻣﻨﻔﺬ ﻣﺨﺘﻠﻒ
ﻋﻦﺗﻄﺒﻴﻖ ﺍﻟﻬﺪﻑ ﺍﻟﺮﺉﻴﺴﻲ.
11.1.3ﺑﺎﻟﻨﺴﺒﺔ ﻷﻱ ﻭﺍﺟﻬﺎﺕ ﺗﻢ ﺗﺤﺪﻳﺪﻫﺎ ،ﺭﺍﺟﻊ ﻭﺛﺎﺉﻖ ﺍﻟﺸﺮﻛﺔ ﺍﻟﻤﺼﻨﻌﺔ ﻭﻗﻮﺍﺉﻢ ﻛﻠﻤﺎﺕ ﺍﻟﻤﺮﻭﺭ
ﺍﻻﻓﺘﺮﺍﺿﻴﺔﺍﻟﺸﺎﺉﻌﺔ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ.
11.1.4ﺇﺫﺍ ﻟﻢ ﺗﻨﺠﺢ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﺍﻻﻓﺘﺮﺍﺿﻴﺔ ،ﻓﺎﺳﺘﺨﺪﻡ ﺍﻟﺨﻄﻮﺍﺕ ﺍﻟﻤﺪﺭﺟﺔ ﻓﻲ ﺍﻟﻘﺴﻢ 4
ﻟﻤﺤﺎﻭﻟﺔﺗﺨﻤﻴﻦ ﺑﻴﺎﻧﺎﺕ ﺍﻻﻋﺘﻤﺎﺩ ﺍﻟﺼﺎﻟﺤﺔ.
11.1.5ﺇﺫﺍ ﺗﻤﻜﻨﺖ ﻣﻦ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻭﺍﺟﻬﺔ ﺇﺩﺍﺭﻳﺔ ،ﻓﺮﺍﺟﻊ ﺍﻟﻮﻇﺎﺉﻒ ﺍﻟﻤﺘﺎﺣﺔ ﻭﺣﺪﺩ ﻣﺎ ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ
ﺍﻟﻤﻤﻜﻦﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻤﺰﻳﺪ ﻣﻦ ﺍﻟﻤﺴﺎﺱ ﺑﺎﻟﻤﻀﻴﻒ ﻭﻣﻬﺎﺟﻤﺔ ﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﺮﺉﻴﺴﻲ.
847 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
11.6.4ﺇﺫﺍ ﻛﺎﻥ ﺫﻟﻚ ﻣﻤﻜﻨﺎً ،ﻓﻜﺮ ﻓﻲ ﺇﺟﺮﺍء ﺗﺜﺒﻴﺖ ﻣﺤﻠﻲ ﻟﻠﺒﺮﻧﺎﻣﺞ ﺍﻟﺬﻱ ﺗﻬﺎﺟﻤﻪ ،ﻭﻗﻢ ﺑﺈﺟﺮﺍء
ﺍﺧﺘﺒﺎﺭﺍﺗﻚﺍﻟﺨﺎﺻﺔ ﻟﻠﻌﺜﻮﺭ ﻋﻠﻰ ﻧﻘﺎﻁ ﺿﻌﻒ ﺟﺪﻳﺪﺓ ﻟﻢ ﻳﺘﻢ ﺍﻛﺘﺸﺎﻓﻬﺎ ﺃﻭ ﺗﺪﺍﻭﻟﻬﺎ ﻋﻠﻰ ﻧﻄﺎﻕ
ﻭﺍﺳﻊ.
11.7.2ﺇﺫﺍ ﻛﺎﻥ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺇﺭﺳﺎﻝ ﻣﺘﻐﻴﺮ ﻳﺘﻢ ﺇﺭﺟﺎﻋﻪ ﻓﻲ ﺍﺳﺘﺠﺎﺑﺔ ﺍﻟﺨﺎﺩﻡ ،ﻓﻘﻢ ﺑﺈﺭﺳﺎﻝ ﻣﺠﻤﻮﻋﺔ
ﻣﻦﺳﻼﺳﻞ fuzzﻭﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﺍﻟﻤﺸﻔﺮﺓ ﻟﺘﺤﺪﻳﺪ ﺳﻠﻮﻙ ﺩﻓﺎﻋﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ ﻹﺩﺧﺎﻝ
ﺍﻟﻤﺴﺘﺨﺪﻡ.
11.7.3ﻗﻢ ﺑﺘﺄﻛﻴﺪ ﻫﺬﺍ ﺍﻟﺴﻠﻮﻙ ﻋﻦ ﻃﺮﻳﻖ ﺗﻨﻔﻴﺬ ﻧﻔﺲ ﺍﻟﻬﺠﻤﺎﺕ ﻋﻠﻰ ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ.
11.7.4ﻟﺠﻤﻴﻊ ﺳﻼﺳﻞ ﻭﻃﻠﺒﺎﺕ ﺍﻟﺘﺸﻮﻳﺶ ،ﺍﺳﺘﺨﺪﻡ ﺳﻼﺳﻞ ﺣﻤﻮﻟﺔ ﻣﻦ ﻏﻴﺮ ﺍﻟﻤﺮﺟﺢ ﻭﺟﻮﺩﻫﺎ ﻓﻲ
ﻗﺎﻋﺪﺓﺑﻴﺎﻧﺎﺕ ﺍﻟﺘﻮﻗﻴﻊ ﺍﻟﻘﻴﺎﺳﻴﺔ .ﻋﻠﻰ ﺍﻟﺮﻏﻢ ﻣﻦ ﺇﻋﻄﺎء ﺃﻣﺜﻠﺔ ﻋﻠﻰ
849 ﺍﻟﻔﺼﻞ-21ﻣﻨﻬﺠﻴﺔ ﺍﺧﺘﺮﺍﻕ ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﻣﻦﺍﻟﻤﺴﺘﺤﻴﻞ ﺣﺴﺐ ﺍﻟﺘﻌﺮﻳﻒ ﺃﻥ ﺗﻔﻌﻞ ﺫﻟﻚ ،ﺗﺠﻨﺐ ﺍﺳﺘﺨﺪﺍﻡ /ﺇﻟﺦ/ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭﺃﻭ /sam/
windows/system32/configﻛﺤﻤﻮﻻﺕ ﻻﺳﺘﺮﺟﺎﻉ ﺍﻟﻤﻠﻔﺎﺕ .ﺗﺠﻨﺐ ﺃﻳﻀﺎً ﺍﺳﺘﺨﺪﺍﻡ
ﻣﺼﻄﻠﺤﺎﺕﻣﺜﻞ >ﻧﺺ<ﻓﻲ ﻫﺠﻮﻡ XSSﻭﺍﺳﺘﺨﺪﺍﻡﻳﺤُﺬﺭًِ)(ﺃﻭxssﻛﺤﻤﻮﻻﺕ .XSS
11.7.5ﺇﺫﺍ ﺗﻢ ﺣﻈﺮ ﻃﻠﺐ ﻣﻌﻴﻦ ،ﻓﺤﺎﻭﻝ ﺇﺭﺳﺎﻝ ﻧﻔﺲ ﺍﻟﻤﻌﻠﻤﺔ ﻓﻲ ﻣﻮﻗﻊ ﺃﻭ ﺳﻴﺎﻕ ﻣﺨﺘﻠﻒ .ﻋﻠﻰ
ﺳﺒﻴﻞﺍﻟﻤﺜﺎﻝ ،ﺃﺭﺳﻞ ﻧﻔﺲ ﺍﻟﻤﻌﻠﻤﺔ ﻓﻲ ﻋﻨﻮﺍﻥ URLﻓﻲﻳﺤﺼﻞﻃﻠﺐ ،ﺿﻤﻦ ﻧﺺﺑﺮﻳﺪ
ﺍﻟﻄﻠﺐ،ﻭﺩﺍﺧﻞ ﻋﻨﻮﺍﻥ URLﻓﻲﺑﺮﻳﺪﻃﻠﺐ.
11.7.6ﻋﻠﻰ ،ASP.NETﺣﺎﻭﻝ ﺃﻳﻀﺎً ﺇﺭﺳﺎﻝ ﺍﻟﻤﻌﻠﻤﺔ ﻛﻤﻠﻒ ﺗﻌﺮﻳﻒ ﺍﺭﺗﺒﺎﻁ .ﻭﺍﺟﻬﺔ ﺑﺮﻣﺠﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ
ﻃﻠﺐ.ﺍﻟﻤﻌﻠﻤﺎﺕ]“[”fooﺳﻴﺘﻢ ﺍﺳﺘﺮﺩﺍﺩ ﻗﻴﻤﺔ ﻣﻠﻒ ﺗﻌﺮﻳﻒ ﺍﻻﺭﺗﺒﺎﻁ ﺍﻟﻤﺴﻤﻰﻓﻮ
ﺇﺫﺍﻛﺎﻧﺖ ﺍﻟﻤﻌﻠﻤﺔﻓﻮﻟﻢ ﻳﺘﻢ ﺍﻟﻌﺜﻮﺭ ﻋﻠﻴﻬﺎ ﻓﻲ ﺳﻠﺴﻠﺔ ﺍﻻﺳﺘﻌﻼﻡ ﺃﻭ ﻧﺺ ﺍﻟﺮﺳﺎﻟﺔ.
11.7.7ﻗﻢ ﺑﻤﺮﺍﺟﻌﺔ ﺟﻤﻴﻊ ﺍﻟﻄﺮﻕ ﺍﻷﺧﺮﻯ ﻹﺩﺧﺎﻝ ﺇﺩﺧﺎﻝ ﺍﻟﻤﺴﺘﺨﺪﻡ ﺍﻟﻤﻘﺪﻣﺔ ﻓﻲ ﺍﻟﻔﺼﻞ ،4ﻭﺍﺧﺘﺮ
ﺃﻱﻃﺮﻕ ﻏﻴﺮ ﻣﺤﻤﻴﺔ.
11.7.8ﺣﺪﺩ ﺍﻟﻤﻮﺍﻗﻊ ﺍﻟﺘﻲ ﺗﺮُﺳﻞ ﻓﻴﻬﺎ ﻣﺪﺧﻼﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ )ﺃﻭ ﻳﻤُﻜﻦ ﺇﺭﺳﺎﻟﻬﺎ( ﺑﺘﻨﺴﻴﻖ ﻏﻴﺮ
ﻗﻴﺎﺳﻲ،ﻣﺜﻞ ﺍﻟﺘﺴﻠﺴﻞ ﺃﻭ ﺍﻟﺘﺮﻣﻴﺰ .ﺇﺫﺍ ﻟﻢ ﻳﺘﻮﻓﺮ ﺃﻱ ٌّﻣﻨﻬﺎ ،ﻓﻘﻢ ﺑﺒﻨﺎء ﺳﻠﺴﻠﺔ ﺍﻟﻬﺠﻮﻡ ﻋﻦ
ﻃﺮﻳﻖﺍﻟﺘﺠﻤﻴﻊ ﻭ/ﺃﻭ ﺗﻮﺳﻴﻌﻬﺎ ﻋﺒﺮ ﻣﺘﻐﻴﺮﺍﺕ ﻣﺘﻌﺪﺩﺓ) .ﻻﺣﻆ ﺃﻧﻪ ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻬﺪﻑ ﻫﻮ
،ASP.NETﻓﻘﺪ ﺗﺘﻤﻜﻦ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻡ HPPﻟﺮﺑﻂ ﺍﻟﻬﺠﻮﻡ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﻮﺍﺻﻔﺎﺕ ﻣﺘﻌﺪﺩﺓ
ﻟﻨﻔﺲﺍﻟﻤﺘﻐﻴﺮ(.
ﺍﻟﺸﻴﻜﺎﺕﺍﻟﻤﺘﻨﻮﻋﺔ 12
ﺍﻟﺸﻜﻞ:13-21ﺍﻟﺸﻴﻜﺎﺕ ﺍﻟﻤﺘﻨﻮﻋﺔ
12.1.2ﺗﺤﺪﻳﺪ ﺟﻤﻴﻊ ﺍﺳﺘﺨﺪﺍﻣﺎﺕ ﻭﺍﺟﻬﺎﺕ ﺑﺮﻣﺠﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ،ﻭﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺑﻴﺎﻧﺎﺕ
DOMﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﻟﺘﺤﻜﻢ ﻓﻴﻬﺎ ﻋﺒﺮ ﻋﻨﻮﺍﻥ URLﻣﺼﻤﻢ ﺧﺼﻴﺼﺎً:
ﻣﻮﻗﻊﺍﻟﻤﺴﺘﻨﺪ
ﻋﻨﻮﺍﻥ URLﻟﻠﻤﺴﺘﻨﺪ
ﺍﻟﻤﺴﺘﻨﺪ URL.ﻏﻴﺮ ﻣﺸﻔﺮ
ﻭﺛﻴﻘﺔﻣﺮﺟﻌﻴﺔ
ﻣﻮﻗﻊﺍﻟﻨﺎﻓﺬﺓ
١٢.١.٣ﺗﺘﺒﻊ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺫﺍﺕ ﺍﻟﺼﻠﺔ ﻣﻦ ﺧﻼﻝ ﺍﻟﻜﻮﺩ ﻟﺘﺤﺪﻳﺪ ﺍﻹﺟﺮﺍءﺍﺕ ﺍﻟﺘﻲ ﺗﻨُﻔﺬَّ ﺑﻬﺎ .ﺇﺫﺍ ﺗﻢ ﺗﻤﺮﻳﺮ
ﺍﻟﺒﻴﺎﻧﺎﺕ)ﺃﻭ ﻧﺴﺨﺔ ﻣﻌُﺪَﻟَّﺔ ﻣﻨﻬﺎ( ﺇﻟﻰ ﺇﺣﺪﻯ ﻭﺍﺟﻬﺎﺕ ﺑﺮﻣﺠﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ،ﻓﻘﺪ ﻳﻜﻮﻥ
ﺍﻟﺘﻄﺒﻴﻖﻋﺮُﺿﺔ ًﻟﻬﺠﻤﺎﺕ :XSS
()document.write
()document.writeln
()eval
document.body.innerHtml
()window.execScript
()window.setInterval
()window.setTimeout
12.1.4ﺇﺫﺍ ﺗﻢ ﺗﻤﺮﻳﺮ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺇﻟﻰ ﺇﺣﺪﻯ ﻭﺍﺟﻬﺎﺕ ﺑﺮﻣﺠﺔ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﺎﻟﻴﺔ ،ﻓﻘﺪ ﻳﻜﻮﻥ ﺍﻟﺘﻄﺒﻴﻖ
ﻋﺮﺿﺔﻟﻬﺠﻮﻡ ﺇﻋﺎﺩﺓ ﺍﻟﺘﻮﺟﻴﻪ:
ﻣﻮﻗﻊﺍﻟﻤﺴﺘﻨﺪ
ﻋﻨﻮﺍﻥ URLﻟﻠﻤﺴﺘﻨﺪ
ﻭﺛﻴﻘﺔ.ﻓﺘﺢ)(
window.location.href
()window.navigate
ﻧﺎﻓﺬﺓ.ﻓﺘﺢ)(
ﺃﻭﺿﻤﻦ ﻋﻼﻣﺎﺕ HTMLﺍﻟﻮﺻﻔﻴﺔ ،ﻗﺪ ﻳﺘﻢ ﺗﺨﺰﻳﻦ ﺍﻟﺼﻔﺤﺔ ﺍﻟﻤﻌﻨﻴﺔ ﻣﺆﻗﺘﺎً ﺑﻮﺍﺳﻄﺔ
ﻣﺘﺼﻔﺢﻭﺍﺣﺪ ﺃﻭ ﺃﻛﺜﺮ:
ﺗﺎﺭﻳﺦﺍﻻﻧﺘﻬﺎء0 :
ﺍﻟﺘﺤﻜﻢﻓﻲ ﺫﺍﻛﺮﺓ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻤﺆﻗﺖ :ﻋﺪﻡ
ﻭﺟﻮﺩﺫﺍﻛﺮﺓ ﺗﺨﺰﻳﻦ ﻣﺆﻗﺖ
١٢.٢.٤ﺣﺪﺩ ﺃﻱ ﺣﺎﻻﺕ ﺩﺍﺧﻞ ﺍﻟﺘﻄﺒﻴﻖ ﻳﺘﻢ ﻓﻴﻬﺎ ﻧﻘﻞ ﺑﻴﺎﻧﺎﺕ ﺣﺴﺎﺳﺔ ﻋﺒﺮ ﻣﻌﻠﻤﺔ .URLﻓﻲ ﺣﺎﻝ
ﻭﺟﻮﺩﺃﻱ ﺣﺎﻻﺕ ،ﺍﻓﺤﺺ ﺳﺠﻞ ﺍﻟﻤﺘﺼﻔﺢ ﻟﻠﺘﺄﻛﺪ ﻣﻦ ﺗﺨﺰﻳﻦ ﻫﺬﻩ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻴﻪ.
١٢.٢.٥ﻟﺠﻤﻴﻊ ﺍﻟﻨﻤﺎﺫﺝ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻟﺠﻤﻊ ﺑﻴﺎﻧﺎﺕ ﺣﺴﺎﺳﺔ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻡ )ﻣﺜﻞ ﺗﻔﺎﺻﻴﻞ ﺑﻄﺎﻗﺔ
ﺍﻻﺉﺘﻤﺎﻥ( ،ﺭﺍﺟﻊ ﻣﺼﺪﺭ HTMLﻟﻠﻨﻤﻮﺫﺝ .ﺇﺫﺍ ﻛﺎﻧﺖ ﺍﻟﺴﻤﺔ
ﺍﻹﻛﻤﺎﻝﺍﻟﺘﻠﻘﺎﺉﻲ=ﺇﻳﻘﺎﻑﺇﺫﺍ ﻟﻢ ﻳﺘﻢ ﺿﺒﻂ ﺫﻟﻚ ،ﺳﻮﺍء ﺿﻤﻦ ﻋﻼﻣﺔ ﺍﻟﻨﻤﻮﺫﺝ ﺃﻭ ﻋﻼﻣﺔ ﺣﻘﻞ
ﺍﻹﺩﺧﺎﻝﺍﻟﻔﺮﺩﻱ ،ﻳﺘﻢ ﺗﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺪﺧﻠﺔ ﺩﺍﺧﻞ ﺍﻟﻤﺘﺼﻔﺤﺎﺕ ﺍﻟﺘﻲ ﺗﺪﻋﻢ ﺍﻹﻛﻤﺎﻝ
ﺍﻟﺘﻠﻘﺎﺉﻲ،ﺑﺸﺮﻁ ﺃﻻ ﻳﻜﻮﻥ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻗﺪ ﻗﺎﻡ ﺑﺘﻌﻄﻴﻞ ﻫﺬﻩ ﺍﻟﻤﻴﺰﺓ.
12.2.6ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﺗﺨﺰﻳﻦ ﻣﺤﻠﻲ ﺧﺎﺹ ﺑﺎﻟﺘﻜﻨﻮﻟﻮﺟﻴﺎ.
12.2.6.1ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﻭﺟﻮﺩ ﻛﺎﺉﻨﺎﺕ Flashﺍﻟﻤﺤﻠﻴﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻹﺿﺎﻓﻲ BetterPrivacy
ﻟﻤﺘﺼﻔﺢﻓﺎﻳﺮﻓﻮﻛﺲ.
١٢.٣.٣ﺗﻌُﻠﻦ ﺑﻌﺾ ﺧﻮﺍﺩﻡ ﺍﻟﻮﻳﺐ ﻋﻦ ﺩﻋﻤﻬﺎ ﻟﺒﻌﺾ ﺍﻟﺸﻔﺮﺍﺕ ﻭﺍﻟﺒﺮﻭﺗﻮﻛﻮﻻﺕ ﺍﻟﻀﻌﻴﻔﺔ ،ﻟﻜﻨﻬﺎ
ﺗﺮﻓﺾﺇﺗﻤﺎﻡ ﻋﻤﻠﻴﺔ ﺍﻟﻤﺼﺎﻓﺤﺔ ﺑﺎﺳﺘﺨﺪﺍﻣﻬﺎ ﺇﺫﺍ ﻃﻠﺒﻬﺎ ﺍﻟﻌﻤﻴﻞ .ﻗﺪ ﻳﺆﺩﻱ ﻫﺬﺍ ﺇﻟﻰ ﻧﺘﺎﺉﺞ
ﺇﻳﺠﺎﺑﻴﺔﺧﺎﻃﺉﺔ ﻋﻨﺪ ﺍﺳﺘﺨﺪﺍﻡ ﺃﺩﺍﺓ .THCSSLCheckﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﻣﺘﺼﻔﺢ ﺃﻭﺑﺮﺍ
ﻟﻤﺤﺎﻭﻟﺔﺇﺗﻤﺎﻡ ﻋﻤﻠﻴﺔ ﺍﻟﻤﺼﺎﻓﺤﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺑﺮﻭﺗﻮﻛﻮﻻﺕ ﺿﻌﻴﻔﺔ ﻣﺤُﺪﺩﺓ ﻟﻠﺘﺄﻛﺪ ﻣﻦ
ﺇﻣﻜﺎﻧﻴﺔﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺘﻄﺒﻴﻖ.
ﻣﻦﺃﻱ ﻣﻮﻗﻊ ﺁﺧﺮ ،ﻳﻤﻜﻦ ﺇﺟﺮﺍء ﺗﻔﺎﻋﻞ ﺛﻨﺎﺉﻲ ﺍﻻﺗﺠﺎﻩ ،ﺑﺎﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺟﻠﺴﺎﺕ ﻣﺴﺘﺨﺪﻣﻲ
ﺍﻟﺘﻄﺒﻴﻖ.ﻫﺬﺍ ﻳﺴﻤﺢ ﺑﺎﺳﺘﺮﺟﺎﻉ ﺟﻤﻴﻊ ﺍﻟﺒﻴﺎﻧﺎﺕ ،ﻭﺗﻨﻔﻴﺬ ﺃﻱ ﺇﺟﺮﺍءﺍﺕ ﻟﻠﻤﺴﺘﺨﺪﻡ ،ﻣﻦ ﺃﻱ
ﻧﻄﺎﻕﺁﺧﺮ.
12.4.2ﺗﺤﻘﻖ ﻣﻦ /ﻣﻠﻒ clientaccesspolicy.xml fiﻋﻠﻰ ﻏﺮﺍﺭ ،Flashﺇﺫﺍ ﻛﺎﻥ
>ﺍﻟﻮﺻﻮﻝ ﻋﺒﺮ ﺍﻟﻨﻄﺎﻕ<ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻜﻮﻳﻦ ﻣﺘﺴﺎﻫﻼ ًﻟﻠﻐﺎﻳﺔ ،ﻓﻴﻤﻜﻦ ﻟﻠﻤﻮﺍﻗﻊ ﺍﻷﺧﺮﻯ ﺇﺟﺮﺍء
ﺗﻔﺎﻋﻞﺛﻨﺎﺉﻲ ﺍﻻﺗﺠﺎﻩ ﻣﻊ ﺍﻟﻤﻮﻗﻊ ﻗﻴﺪ ﺍﻟﺘﻘﻴﻴﻢ.
12.4.3ﺍﺧﺘﺒﺎﺭ ﺗﻌﺎﻣﻞ ﺍﻟﺘﻄﺒﻴﻖ ﻣﻊ ﺍﻟﻄﻠﺒﺎﺕ ﻋﺒﺮ ﺍﻟﻨﻄﺎﻗﺎﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ
ﻃﻠﺐXMLHttpﻋﻦ ﻃﺮﻳﻖ ﺇﺿﺎﻓﺔﺃﺻﻞﺭﺃﺱ ﻳﺤﺪﺩ ﻧﻄﺎﻗﺎً ﻣﺨﺘﻠﻔﺎً ﻭﻳﻔﺤﺺ ﺃﻳﺎً ﻣﻨﻬﺎﺍﻟﺘﺤﻜﻢ ﻓﻲ
ﺍﻟﻮﺻﻮﻝﺍﻟﻌﻨﺎﻭﻳﻦ ﺍﻟﻤﻌُﺎﺩﺓ .ﺍﻵﺛﺎﺭ ﺍﻷﻣﻨﻴﺔ ﺍﻟﻤﺘﺮﺗﺒﺔ ﻋﻠﻰ ﺍﻟﺴﻤﺎﺡ ﺑﺎﻟﻮﺻﻮﻝ ﺛﻨﺎﺉﻲ ﺍﻻﺗﺠﺎﻩ
ﻣﻦﺃﻱ ﻧﻄﺎﻕ ،ﺃﻭ ﻣﻦ ﻧﻄﺎﻗﺎﺕ ﺃﺧﺮﻯ ﻣﺤﺪﺩﺓ ،ﻫﻲ ﻧﻔﺴﻬﺎ ﺍﻟﻤﻮﺿﺤﺔ ﻓﻲ ﺳﻴﺎﺳﺔ ﺍﻟﻮﺻﻮﻝ
ﻋﺒﺮﺍﻟﻨﻄﺎﻗﺎﺕ ﻓﻲ .Flash
١٣.٢ﺇﺫﺍ ﺗﻠﻘﻴﺖ ﺃﻱ ﺭﺳﺎﺉﻞ ﺧﻄﺄ ﻏﻴﺮ ﻋﺎﺩﻳﺔ ،ﻓﺘﺤﻘﻖ ﻣﻨﻬﺎ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻣﺤﺮﻛﺎﺕ ﺍﻟﺒﺤﺚ ﺍﻟﻘﻴﺎﺳﻴﺔ.
ﻳﻤﻜﻨﻚﺍﺳﺘﺨﺪﺍﻡ ﻣﻴﺰﺍﺕ ﺑﺤﺚ ﻣﺘﻘﺪﻣﺔ ﻣﺘﻨﻮﻋﺔ ﻟﺘﻀﻴﻴﻖ ﻧﻄﺎﻕ ﻧﺘﺎﺉﺠﻚ .ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ:
"ﻏﻴﺮ ﻗﺎﺩﺭ ﻋﻠﻰ ﺍﺳﺘﺮﺩﺍﺩ" ﻧﻮﻉ ﺍﻟﻤﻠﻒphp :
١٣.٣ﺭﺍﺟﻊ ﻧﺘﺎﺉﺞ ﺍﻟﺒﺤﺚ ،ﻭﺍﺑﺤﺚ ﻋﻦ ﺃﻱ ﻧﻘﺎﺵ ﺣﻮﻝ ﺭﺳﺎﻟﺔ ﺍﻟﺨﻄﺄ ﻭﻋﻦ ﺃﻱ ﻣﻮﺍﻗﻊ ﻭﻳﺐ ﺃﺧﺮﻯ
ﻇﻬﺮﺕﻓﻴﻬﺎ ﺍﻟﺮﺳﺎﻟﺔ ﻧﻔﺴﻬﺎ .ﻗﺪ ﺗﻨُﺘﺞ ﺗﻄﺒﻴﻘﺎﺕ ﺃﺧﺮﻯ ﺍﻟﺮﺳﺎﻟﺔ ﻧﻔﺴﻬﺎ ﻓﻲ ﺳﻴﺎﻕ ﺃﻛﺜﺮ
ﺗﻔﺼﻴﻼً،ﻣﻤﺎ ﻳﻤُﻜﻨّﻚ ﻣﻦ ﻓﻬﻢ ﺍﻟﻈﺮﻭﻑ ﺍﻟﺘﻲ ﺗﺴُﺒﺐ ﺍﻟﺨﻄﺄ ﺑﺸﻜﻞ ﺃﻓﻀﻞ .ﺍﺳﺘﺨﺪﻡ ﺫﺍﻛﺮﺓ
ﺍﻟﺘﺨﺰﻳﻦﺍﻟﻤﺆﻗﺖ ﻟﻤﺤﺮﻙ ﺍﻟﺒﺤﺚ ﻻﺳﺘﺮﺟﺎﻉ ﺃﻣﺜﻠﺔ ﻋﻠﻰ ﺭﺳﺎﺉﻞ ﺍﻟﺨﻄﺄ ﺍﻟﺘﻲ ﻟﻢ ﺗﻌﺪ ﺗﻈﻬﺮ
ﻓﻲﺍﻟﺘﻄﺒﻴﻖ ﺍﻟﻨﺸﻂ.
١٣.٤ﺍﺳﺘﺨﺪﻡ ﺑﺤﺚ ﺟﻮﺟﻞ ﻋﻦ ﺍﻟﻜﻮﺩ ﻟﻠﻌﺜﻮﺭ ﻋﻠﻰ ﺃﻱ ﻛﻮﺩ ﻣﺘﺎﺡ ﻟﻠﻌﺎﻣﺔ ﻗﺪ ﻳﻜﻮﻥ ﻣﺴﺆﻭﻻ ًﻋﻦ
ﺭﺳﺎﻟﺔﺧﻄﺄ ﻣﻌﻴﻨﺔ .ﺍﺑﺤﺚ ﻋﻦ ﻣﻘﺘﻄﻔﺎﺕ ﻣﻦ ﺭﺳﺎﺉﻞ ﺍﻟﺨﻄﺄ ﺍﻟﺘﻲ ﻗﺪ ﺗﻜﻮﻥ ﻣﻀُﻤﻨﺔ ﻓﻲ
ﺍﻟﻜﻮﺩﺍﻟﻤﺼﺪﺭ ﻟﻠﺘﻄﺒﻴﻖ.
ﻳﻤﻜﻨﻚﺃﻳﻀﺎً ﺍﺳﺘﺨﺪﺍﻡ ﻣﻴﺰﺍﺕ ﺑﺤﺚ ﻣﺘﻘﺪﻣﺔ ﻣﺘﻨﻮﻋﺔ ﻟﺘﺤﺪﻳﺪ ﻟﻐﺔ ﺍﻟﻜﻮﺩ ﻭﺗﻔﺎﺻﻴﻞ ﺃﺧﺮﻯ،
ﺇﻥﻛﺎﻧﺖ ﻣﻌﺮﻭﻓﺔ .ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ:
ﻏﻴﺮﻗﺎﺩﺭ ﻋﻠﻰ ﺍﺳﺘﺮﺩﺍﺩ ﺣﺰﻣﺔ lang:php:mail
13.5ﺇﺫﺍ ﺗﻠﻘﻴﺖ ﺭﺳﺎﺉﻞ ﺧﻄﺄ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺗﺘﺒﻌﺎﺕ ﻣﻜﺪﺳﺔ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺃﺳﻤﺎء ﻣﻜﻮﻧﺎﺕ ﺍﻟﻤﻜﺘﺒﺔ
ﻭﺍﻟﻜﻮﺩﺍﻟﺨﺎﺭﺟﻲ ،ﻓﺎﺑﺤﺚ ﻋﻦ ﻫﺬﻩ ﺍﻷﺳﻤﺎء ﻋﻠﻰ ﻛﻼ ﺍﻟﻨﻮﻋﻴﻦ ﻣﻦ ﻣﺤﺮﻛﺎﺕ ﺍﻟﺒﺤﺚ.
ﻓﻬِﺮﺱِ
853
ﻣﺆﺷﺮ-854ﺃ–ﺃ