مشکل این کد درج در بانک کجاست؟
SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=J:\\source cod\\PROJECT C #\\ketabkhaneghaem\\ketabkhaneghaem\\Database1.mdf ;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
DataSet ds =new DataSet();
if (txtfname.Text == "" || txtlname.Text == "" || txtcodozv.Text == "")
{
MessageBox.Show("وارد كردن کد عضویت ، نام و نام خانوادگي الزامي مي باشد");
}
else
{
conn.Open();
cmd.CommandText = ("insert into aza values('" + txtcodozv + "','" + txtfname + "','" + txtlname + "','" + txtnamepedar + "','" + textBox1 + "','" + txtmeli + "','" + txttelephon + "','" + txtaddress + "','" + textBox2 + "','" + textBox3 + "')");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
conn.Close();
}
روی cmd.ExecuteNonQuery ارور میده
کل فیلد های جدولم nchar هست
نقل قول: مشکل این کد درج در بانک کجاست؟
cmd.CommandText = ("insert into aza values('" + txtcodozv + "','" + txtfname + "','" + txtlname + "','" + txtnamepedar + "','" + textBox1 + "','" + txtmeli + "','" + txttelephon + "','" + txtaddress + "','" + textBox2 + "','" + textBox3 + "')");
خاصیت text تکست باکس هاتو رو استفاده کن
نقل قول: مشکل این کد درج در بانک کجاست؟
نقل قول: مشکل این کد درج در بانک کجاست؟
من فکر می کنم به صورت پارامتری انجام بدید بهتره :
SqlCommand cmd = new SqlCommand("INSERT INTO karbar(Name , Pass ,Access)VALUES( @Name , @Pass , @Access)", con);
cmd.Parameters.AddWithValue("@Name", Name);
cmd.Parameters.AddWithValue("@Pass", Pass);
cmd.Parameters.AddWithValue("@Access", Access);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
نقل قول: مشکل این کد درج در بانک کجاست؟
اگه از پارامتر استفاده نکنی . کابرت زرنگ باشه میتونه کد تزریق بکنه :شیطان: :شیطان:
نقل قول: مشکل این کد درج در بانک کجاست؟
بعد 4 سال دوری کامل از کد دوباره اومدم کلا یکم قاطی بودم متشکر
نقل قول: مشکل این کد درج در بانک کجاست؟
نقل قول:
نوشته شده توسط
amir_pro
اگه از پارامتر استفاده نکنی . کابرت زرنگ باشه میتونه کد تزریق بکنه :شیطان: :شیطان:
فکر کنم تزریق در مواقع ورود به سیستم یا جایی که رمز میخواد استفاده میشه درسته؟
اینجا کاربردی نداره
نقل قول: مشکل این کد درج در بانک کجاست؟
نقل قول:
نوشته شده توسط
mammad_asir
فکر کنم تزریق در مواقع ورود به سیستم یا جایی که رمز میخواد استفاده میشه درسته؟
اینجا کاربردی نداره
دوست من کاربرد برای برنامه نویسه، معمولا cracer یا hacker(جوجه هکر) دنبال کاربرد نیست و از نظر روانی مشکل داره و هدفش خراب کردن و آسیب زدنه. با همچین باگی میشه کل بانک رو drop کرد.
موفق باشید
نقل قول: مشکل این کد درج در بانک کجاست؟
میشه لطفا بفرمایید چطور اینجا میشه مثلا DROP کرد؟
من امتحان کردم نشد
نقل قول: مشکل این کد درج در بانک کجاست؟
بله حتما ولی خواهشا در راه درست استفاده کنید و اگر باگ مشابه دیدین به admin اطلاع رسانی کنید.
در چنین مواقعی هر مقداری را میتونید توی تکست باکس ها وارد کنید و در تکست باکس آخر مقدار تخریب کننده رو وارد کنید
به عنوان مثال برای حذف جدول اعضا عبارت زیر رو وارد کنید:
'; drop table aza; select '1
و یا برای حذف دیتابیس از این عبارت استفاده کنید:
'; drop database database1; select '1
کلا میتونید هر کد sql که دوست داشتین وارد کنید، کافیه هکر اسم جدول کاربرا رو بفهمه و یک یوزر با دسترسی بالا برای خودش insert کنه و راحت به اطلاعات دسترسی پیدا کنه و admin هم به این راحتیا متوجه نشه که هک شده.
امیدوارم موفق باشید.