ﺑﻪ ﻧﺎم ﺧﺪا داﻧﺸﮕﺎه ﺻﻨﻌﺘﯽ ﺷﺮﯾﻒ ﭘﺮوژه ﭘﺎﯾﺎﻧﯽ – درس ﺗﻮﺳﻌﻪ اﻣﻦ ﻧﺮماﻓﺰار داﻧﺸﮑﺪه ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ 19ﺧﺮدادﻣﺎه 1392 ﻧﮑﺎت ﺗﺤﻮﯾﻞ ﭘﺮوژه: اﯾﻦ ﭘﺮوژه اﻧﻔﺮادي اﺳﺖ و ﻫﺮ ﮐﺲ ﺑﺎﯾﺪ ﺧﻮدش ﺧﺮوﺟﯽ را آﻣﺎده ﮐﻨﺪ. ﺳﺮرﺳﯿﺪ اﻧﺠﺎم ﭘﺮوژه ،ﺟﻤﻌﻪ -7ام ﺗﯿﺮﻣﺎه 1392ﺧﻮاﻫﺪ ﺑﻮد .ﺑﺮﻧﺎﻣﻪ رﯾﺰي و ﺟﺰﺋﯿـﺎت ﺗﺤﻮﯾـﻞ ﺣﻀـﻮري ﺑﻌـﺪاً اﻃﻼع داده ﻣﯽﺷﻮد. در روز ﺗﺤﻮﯾﻞ ﯾﮏ Firefoxﺑﺎ ﭘﻼﮔﯿﻦ Firebugروي ﺳﯿﺴﺘﻢ ﺧﻮد آﻣﺎده داﺷﺘﻪ ﺑﺎﺷﯿﺪ. ﺗﻌﺮﯾﻒ ﭘﺮوژه: در اﯾﻦ ﭘﺮوژه ﺷﻤﺎ ﺑﺎﯾﺪ ﯾﮏ وبﺳﺎﯾﺖ ﺳﺎده وﻟﯽ اﻣـﻦ ﺑﺴـﺎزﯾﺪ .اﯾـﻦ وب ﺳـﺎﯾﺖ ،ﯾـﮏ ﺑـﻮرد اﻃـﻼع رﺳـﺎﻧﯽ اﺳـﺖ ﮐـﻪ ﺳﺮﭘﺮﺳﺘﺎن اﻃﻼﻋﯿﻪﻫﺎي ﺧﻮد را در آن وارد ﻣﯽﮐﻨﻨﺪ و ﻋﻤﻮم ﻣﯽﺗﻮاﻧﻨﺪ اﻃﻼﻋﯿﻪﻫﺎ را ﺑﺒﯿﻨﻨﺪ. اﯾﻦ وبﺳﺎﯾﺖ ﺣﺪاﻗﻞ ﺷﺎﻣﻞ ﺻﻔﺤﺎت زﯾﺮ اﺳﺖ: ﺻﻔﺤﻪ اﺻﻠﯽ :ﻟﯿﺴﺖ اﻃﻼﻋﯿﻪﻫﺎ ﺑﻪ ﻋﻤﻮم ﻧﻤﺎﯾﺶ داده ﻣﯽﺷﻮد .در ﮐﻨﺎر اﻃﻼﻋﯿﻪ ﻧﺎم ﮐﺎرﺑﺮ ﻧﻮﯾﺴﻨﺪه ﻧﯿﺰ ﺧﻮرده اﺳﺖ .ﺑﻌﻼوه ﻟﯿﻨﮑﯽ ﺑﺮاي ﻻﮔﯿﻦ دارد. ﺻﻔﺤﻪ ﻻﮔﯿﻦ ﺻﻔﺤﻪ ﭘﻨﻞ :ﮐﺎرﺑﺮان ﭘﺲ از ﻻﮔﯿﻦ ﺑﻪ اﯾﻦ ﺻﻔﺤﻪ ﻣﯽروﻧﺪ .در اﯾﻦ ﺻﻔﺤﻪ ﻟﯿﻨﮑﯽ ﺑﺮاي اﺿﺎﻓﻪ ﮐـﺮدن اﻃﻼﻋﯿـﻪ وﺟﻮد دارد .ﻟﯿﺴﺖ اﻃﻼﻋﯿﻪﻫﺎ ﺑﺮاي ﺳﺮﭘﺮﺳﺖ ﻧﻤﺎﯾﺶ داده ﻣﯽﺷﻮد .وي ﻣﯽﺗﻮاﻧﺪ ﺗﻨﻬـﺎ اﻃﻼﻋﯿـﻪﻫـﺎي ﺧـﻮد را ﺣﺬف ﮐﺮده و ﯾﺎ وﯾﺮاﯾﺶ ﮐﻨﺪ .در ﺿﻤﻦ ﻟﯿﻨﮑﯽ ﺑﺮاي ﺗﻐﯿﯿﺮ رﻣﺰ و ﺧﺮوج وﺟﻮد دارد. ﺗﻨﻬﺎ ﯾﮏ ﮐـﺎرﺑﺮ adminدر ﺳﯿﺴـﺘﻢ دارﯾـﻢ .وي در ﺻـﻔﺤﻪ ﭘﻨـﻞ ،ﯾـﮏ ﻟﯿﻨـﮏ دﯾﮕـﺮ ﺑـﺮاي اﺿـﺎﻓﻪ ﮐـﺮدن ﺳﺮﭘﺮﺳﺘﺎن ﻧﯿﺰ دارد. ﺻﻔﺤﻪ ﺗﻐﯿﯿﺮ رﻣﺰ ﻋﺒﻮر :رﻣﺰ ﻗﺒﻠﯽ و رﻣﺰ ﻓﻌﻠﯽ ﮐﺎرﺑﺮ ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮد. ﺻﻔﺤﻪ ﻓﺮاﻣﻮﺷﯽ رﻣﺰ ﻋﺒﻮر :ﺑﺎ اﺳﺘﻔﺎده از ارﺳﺎل اﯾﻤﯿﻞ ،ﻫﻮﯾﺖ ﮐﺎرﺑﺮ ﺗﺎﯾﯿﺪ ﺷﺪه و رﻣﺰ وي رﯾﺴﺖ ﻣﯽﺷﻮد. ﺻﻔﺤﻪ اﺿﺎﻓﻪ ﮐﺮدن ﺳﺮﭘﺮﺳﺖ :ﻧﺎم ﮐﺎرﺑﺮي ﺳﺮﭘﺮﺳﺖ ،رﻣﺰ اوﻟﯿﻪ و اﯾﻤﯿﻞ وي ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮد. ﺻﻔﺤﻪ اﺿﺎﻓﻪ ﮐﺮدن/وﯾﺮاﯾﺶ اﻃﻼﻋﯿﻪ :ﻋﻨﻮان و ﻣﺘﻦ ﭘﯿﺎم از ﺳﺮﭘﺮﺳﺖ ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮد .ﻣﺘﻦ ﭘﯿﺎم ﻣﯽﺗﻮاﻧـﺪ اﯾـﻦ وﯾﮋﮔﯽﻫﺎ را داﺷﺘﻪ ﺑﺎﺷﺪ: oﺳﺮﭘﺮﺳﺖ ﻣﯽﺗﻮاﻧﺪ ﻟﯿﻨﮏ ﺑﮕﺬارد .ﻇﺎﻫﺮ و ﻣﻘﺼﺪ ﻟﯿﻨﮏ ﻣﯽﺗﻮاﻧﻨﺪ ﻣﺘﻔﺎوت ﺑﺎﺷﻨﺪ. oﺳﺮﭘﺮﺳﺖ ﻣﯽﺗﻮاﻧﺪ ﻗﺴﻤﺘﯽ از ﻣﺘﻦ را Boldﯾﺎ Italicﮐﻨﺪ و ﯾﺎ رﻧـﮓ ﻗﺴـﻤﺘﯽ از ﻣـﺘﻦ را ﺗﻐﯿﯿـﺮ دﻫﺪ. ﻧﺤﻮهي ﻣﺸﺨﺺ ﺷﺪن وﯾﮋﮔﯽﻫﺎي ﺑﺎﻻ در ﻣﺘﻦ ،در اﺧﺘﯿﺎر ﺧﻮدﺗﺎن اﺳﺖ .ﻣﺜﻼً ﻣﯽﺗﻮاﻧﯿﺪ ﺑﻪ ﮐﺎرﺑﺮ ﺑﮕﻮﯾﯿـﺪ ﮐـﻪ از ﺗﮓﻫﺎي ﻣﺤﺪودي از HTMLاﺳﺘﻔﺎده ﮐﻨﺪ و ﯾﺎ ﻓﺮﻣﺖ ﺧﺎﺻﯽ ﺗﻌﺮﯾﻒ ﮐﻨﺪ .اﻟﺒﺘﻪ ﮐـﺎرﺑﺮ ﻧﺒﺎﯾـﺪ در ﻧﻮﺷـﺘﻦ ﭘﯿﺎم ﻣﺤﺪود ﺷﻮد و ﻧﺘﻮاﻧﺪ ﭘﯿﻐﺎﻣﯽ را ﺑﻨﻮﯾﺴﺪ )ﻣﺜﻼً ﻧﺒﺎﯾﺪ اﺳﺘﻔﺎده از ﮐﺎراﮐﺘﺮﻫﺎﯾﯽ ﮐﻼً ﻣﻤﻨﻮع ﺷﻮد .اﮔﺮ از اﯾـﻦ ﮐﺎراﮐﺘﺮﻫﺎ ﺑﻪ ﻣﻨﻈﻮري وﯾﮋه اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﺪ ،ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﺑﺘﻮاﻧﺪ آﻧﻬﺎ را Escapeﮐﻨﺪ(. ﺳﺮﭘﺮﺳﺖ ﻣﯽ ﺗﻮاﻧﺪ ﯾﮏ ﭘﯿﻐﺎم اﺿﺎﻓﻪ ﺑﺮاي ﻋﻨﻮان ﺑﮕﺬارد .ﺑﻪ اﯾﻦ ﺷـﮑﻞ ﮐـﻪ ﻫﺮﮔـﺎه ﮐـﺎرﺑﺮ در ﺻـﻔﺤﻪ اﺻـﻠﯽ، اﺷﺎرهﮔﺮ ﻣﻮس را روي ﻋﻨﻮان ﻧﮕﻪ دارد ،ﭘﯿﻐﺎم اﺿﺎﻓﻪ ﺑﻪ ﺻﻮرت Tooltipﺑﻪ ﮐﺎرﺑﺮ ﻧﻤﺎﯾﺶ داده ﺷﻮد. ﻧﻤﻮﻧﻪ ﯾﮏ Tooltipﺑﺮاي ﻋﻨﻮان: ﻧﮑﺎت ﭘﯿﺎدهﺳﺎزي: اﺳﺘﻔﺎده از ﻫﺮ زﺑﺎن وب ﻣﺠﺎز اﺳﺖ وﻟﯽ ﺗﻮﺻﯿﻪ ﻣﯽﺷﻮد ﺑﺮاي راﺣﺘﯽ در ﯾﺎدﮔﯿﺮي از PHPاﺳﺘﻔﺎده ﮐﻨﯿﺪ. وبﺳﺎﯾﺖ ﺷﻤﺎ ﻣﯽﺑﺎﯾﺴﺖ از ﯾﮏ ﭘﺎﯾﮕﺎه داده SQLاﺳﺘﻔﺎده ﮐﻨﺪ و دادهﻫﺎي ﺳﺎﯾﺖ ﺷﺎﻣﻞ اﻃﻼﻋﯿﻪﻫﺎ ،ﮐﺎرﺑﺮان و ...را در ﭘﺎﯾﮕﺎه داده ﻧﮕﻬﺪاري ﻧﻤﺎﯾﺪ. ﺗﻮﺻﯿﻪ ﻣﯽﺷﻮد ﺳﺎﯾﺖ را ﺑﻪ زﺑﺎن اﻧﮕﻠﯿﺴﯽ ﺑﺴﺎزﯾﺪ ﺗﺎ درﮔﯿﺮ رﯾﺰه ﮐﺎريﻫﺎي ﺳﺎﯾﺖ ﻓﺎرﺳﯽ ﻧﺸﻮﯾﺪ. ﻗﺴﻤﺖ Session Managementرا ﺧﻮدﺗﺎن دﺳﺘﯽ ﭘﯿﺎده ﮐﻨﯿﺪ .ﯾﻌﻨـﯽ ﺳـﺮاغ ﮐﺘﺎﺑﺨﺎﻧـﻪﻫـﺎي PHPو ... ﻧﺮوﯾﺪ و ﺧﻮدﺗﺎن session idﺗﻮﻟﯿﺪ ﮐﻨﯿﺪ ،آن را در ﭘﺎﯾﮕﺎه داده ذﺧﯿﺮه ﮐﻨﯿﺪ ،ﺧﻮدﺗـﺎن set cookieاﻧﺠـﺎم دﻫﯿﺪ cookie ،را ﺑﺨﻮاﻧﯿﺪ و در ﺟﺪول sessionﻫﺎ ﺑﻪ دﻧﺒﺎل آن ﺑﮕﺮدﯾﺪ و . ... وبﺳﺎﯾﺖ ﺷﻤﺎ ﺑﺎﯾﺪ ﮐﺎﻣﻼً httpsﺑﺎﺷﺪ .ﺑﻪ اﯾﻦ ﻣﻨﻈﻮر اﮔﺮ درﺧﻮاﺳﺖ روي ﭘﻮرت 80آﻣﺪ ،ﮐﺎرﺑﺮ را ﺑـﻪ https ﻓﻮروارد ﮐﻨﯿﺪ .ﻣﺮاﻗﺐ ﺑﺎﺷﯿﺪ روي درﺧﻮاﺳﺖﻫﺎي ،httpﮐﻮﮐﯽ ﻣﺮﺑﻮط ﺑﻪ session idارﺳﺎل ﻧﺸﻮد .ﮔـﻮاﻫﯽ SSLرا ﺧﻮﺗــﺎن ﺑــﻪ ﺻــﻮرت self signedﺳــﺎﺧﺘﻪ و (Common Name) CNآن را ﻧﯿــﺰ ﺷــﻤﺎره داﻧﺸﺠﻮﯾﯽ ﺧﻮد ﺑﮕﺬارﯾﺪ. ﻧﮑﺎت اﻣﻨﯿﺘﯽ: در اﯾﻦ ﺗﻤﺮﯾﻦ اﻣﻦ ﺑﻮدن وب ﺳﺎﯾﺖ ﺷﻤﺎ ﺧﯿﻠﯽ ﻣﻬـﻢ اﺳـﺖ ﭘـﺲ ﻣـﻮارد اﻣﻨﯿﺘـﯽ را ﺑـﻪ دﻗـﺖ ﭘﯿـﺎده ﮐﻨﯿـﺪ. ﻧﯿﺎزﻣﻨﺪيﻫﺎي اﻣﻨﯿﺘﯽ را ﺧﻮدﺗﺎن ﺗﺸﺨﯿﺺ داده و ﭘﯿﺎده ﮐﻨﯿﺪ .ﺑﺮاي اﯾﻦ ﮐﺎر OWASP TOP 10را ﻣـﺮور ﮐﻨﯿﺪ و ﻣﻮاردي ﮐﻪ ﺗﺬﮐﺮ داده اﺳﺖ را ﭘﯿﺎده ﻧﻤﺎﯾﯿﺪ Presentation .ﻣﺮﺑﻮط ﺑﻪ TOP 10ﻧﻘﺺﻫـﺎﯾﯽ دارد، ﺣﺘﻤﺎً PDFو ﯾﺎ wikiآن را ﻣﺮور ﮐﻨﯿﺪ. ﻣﻮاردي ﮐﻪ ﺳﺮ ﮐﻼس ﮔﻔﺘﻪ ﻧﺸﺪه ،وﻟﯽ در OWASP TOP 10ﺗﺬﮐﺮ داده ﺷﺪه اﺳـﺖ ﻧﯿـﺰ ﺑﺎﯾـﺪ رﻋﺎﯾـﺖ ﺷﻮد .ﻣﺜﻼً ﺳﺎﯾﺖ ﺷﻤﺎ ﺑﺎﯾﺪ در ﺑﺮاﺑﺮ session fixationاﯾﻤﻦ ﺑﺎﺷﺪ. ﺗﻮﺿﯿﺤﺎت روي ﻣﻮارد :OWASP TOP 10 :Injection oدر وبﺳﺎﯾﺖ ﺳﺎﺧﺘﻪ ﺷﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :XSS oدر وبﺳﺎﯾﺖ ﺳﺎﺧﺘﻪ ﺷﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :Broken Authentication and Session Management oدر وبﺳـﺎﯾﺖ ﺳـﺎﺧﺘﻪ ﺷـﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :Insecure Direct Object Reference oدر وبﺳﺎﯾﺖ ﺳﺎﺧﺘﻪ ﺷﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :CSRF oدر وبﺳﺎﯾﺖ ﺳﺎﺧﺘﻪ ﺷﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :Security Misconfiguration oﻣﻮارد اﯾﻦ ﺑﺨﺶ را ﻻزم ﻧﯿﺴﺖ ﭘﯿﺎدهﺳﺎزي ﮐﻨﯿﺪ. :Insecure Cryptographic Storage oﺗﻨﻬﺎ داده ﻣﺤﺮﻣﺎﻧﻪ اﯾﻦ ﺳﺎﯾﺖ ،رﻣﺰ ﮐﺎرﺑﺮان اﺳـﺖ .آن را اﻣﻦ ذﺧﯿﺮه ﮐﻨﯿﺪ. :Failure to Restrict URL Access oدر وبﺳﺎﯾﺖ ﺳﺎﺧﺘﻪ ﺷﺪه ﮐﺎﻣﻼً ﻣﺪ ﻧﻈﺮ ﺑﺎﺷﺪ. :Insufficient Transport Layer Protection oﻫﻤﯿﻦ ﮐﻪ ﻧﯿﺎزﻣﻨﺪي ﺑﺎﻻ در ﻣﻮرد httpsرا اﻧﺠﺎم دﻫﯿﺪ ﮐﺎﻓﯿﺴﺖ. :Invalidated Redirects and Forwards oﻣﻮارد اﯾـﻦ ﺑﺨـﺶ را ﻻزم ﻧﯿﺴـﺖ ﭘﯿـﺎدهﺳـﺎزي ﮐﻨﯿﺪ. ﭘﺲ از ﺳﺎﺧﺖ وبﺳﺎﯾﺖ ،آن را ﺑﺎ ﻧﺮماﻓﺰار Acunetixدر ﺑﺮاﺑﺮ آﺳـﯿﺐﭘـﺬﯾﺮيﻫـﺎي وب ﺗﺴـﺖ ﮐﻨﯿـﺪ .اﯾـﻦ ﻧﺮماﻓﺰار ،ﯾﮏ اﺑﺰار ﺗﺴﺖ ﻧﻔﻮذ اﺳﺖ ﮐﻪ ﻣﺨﺼﻮص Web Applicationﻃﺮاﺣﯽ ﺷﺪه اﺳﺖ .ﮐﺎر ﺑﺎ آن ﺳـﺎده اﯾﻦ اﺑﺰار را ﻣﯽﺗﻮاﻧﯿﺪ از ﻟﯿﻨﮏ زﯾﺮ درﯾﺎﻓﺖ ﮐﻨﯿﺪ: http://ce.sharif.edu/~boorghany/temp/acu7.zip راﻫﻨﻤﺎي اﺳﺘﻔﺎده در اﯾﻦ ﻟﯿﻨﮏ ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه اﺳﺖ: http://www.acunetix.com/vulnerability-scanner/wvs_getting_started.pdf در ﺻﻮرت ﯾﺎﻓﺘﻦ آﺳﯿﺐﭘﺬﯾﺮي واﻗﻌﯽ )ﺣﺪاﻗﻞ در ﺳﻄﺢ اﺧﻄﺎر( آن را ﺑﺮﻃـﺮف ﮐـﺮده و دوﺑـﺎره ﺗﺴـﺖ ﮐﻨﯿـﺪ. ﻣﻄﻤﺌﻦ ﺷﻮﯾﺪ ﮐﻪ Acunetixﺻﻔﺤﻪﻫﺎي ﺑﻌﺪ از ﻻﮔﯿﻦ را ﻫـﻢ ﺗﺴـﺖ ﻣـﯽﮐﻨـﺪ و ﻫﻤﭽﻨـﯿﻦ ﻧﺴـﺨﻪ Trial ﻧﺒﺎﺷﺪ .ﻧﺘﯿﺠﻪ ﺗﺴﺖ را در روز ﺗﺤﻮﯾﻞ ﭘﺮوژه اراﺋﻪ دﻫﯿﺪ. ﻣﻮﻓﻖ ﺑﺎﺷﯿﺪ
© Copyright 2026 Paperzz