10.07.2015 Views

ASP Security by Soroush Dalili - Intelligent Exploit

ASP Security by Soroush Dalili - Intelligent Exploit

ASP Security by Soroush Dalili - Intelligent Exploit

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

:reset-password.asp -14: خطvUserInfo = BBS.GetUserInfo<strong>by</strong>Name(request.form("username"))قبلا ديديم كهGetUserInfo<strong>by</strong>Name()آسيب پذير نيست.‏:send-private-message.asp -خطمي بينيمخطتابع:33vReplyMessageInfo = Messenger.GetPrivateMessage(request.querystring("replyid"))GetPrivateMessage()آسيب پذير نيست چرا كه اعداد كنترل مي شوند:41vMessageInfo(PM_ToName) =BBS.GetUserInfo<strong>by</strong>ID(request.querystring("toid"))(UI_Username).GetUserInfo<strong>by</strong>ID()امن بوده و آسيب پذير نيست ‏(به دليل كنترل اعداد).‏GetUserInfo<strong>by</strong>ID()از اينجا به بعد هرجا كه از توابع امني چون GetPrivateMessage()يااستفاده شده باشد از آن صرف نظر كرده و در مورد آن نمي نويسيم.‏75: خطvToString = split(request.form("toid"), "|")مي بينيم كه اين متغير در خطيعني:‏ 79response.write vToString(index) & "" & CRLFدر حال چاپ شدن است.‏ پس اولين آسيب پذيري از نوع XSS وقتي كه فرد قبلاوجود دارد وloginشده باشد97exploitآن به شكل زير است:‏

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!