stripchar - shigarwa tsaftacewa -tambayoyin da aka ƙayyade

Me yasa Stripchar bai toshe wannan harin allura ba

Idan ka yi amfani mai ɗaukar kaya Domin tsaftace shigar da mai amfani, ba kai kaɗai ba ne. Masu haɓaka software da yawa sun dogara da irin wannan tsaftace shigarwa don toshe yunƙurin allura. Da farko kallo, yana da ma'ana, yana cire haruffa masu haɗari, kuma nauyin ya ɓace. Duk da haka, wannan hanyar tana ba da rashin tsaro. A gaskiya ma, masu kai hari za su iya kauce wa matattara masu sauƙi kamar mai ɗaukar kaya ta yin amfani da abubuwan da suka ɓoye, lambobi, ko kuma sauya yanayin da aka saba. Shi ya sa masu haɓaka fasaha ba sa tsayawa a nan. Madadin haka, suna amfani da tambayoyi masu ma'ana, wanda ke hana hare-haren allura a tushen.

A cikin wannan rubutun, za ku fahimci dalilin mai ɗaukar kaya kasawa a cikin yanayi na zahiri, yadda maharan ke cin zarafin waɗannan matatun, da kuma waɗanne madadin tsaro ne ainihin ke aiki. Za mu yi bayani dalla-dalla game da misalan lambobi, mu nuna dabarun wucewa gama gari, da kuma bayyana yadda tsaftace shigarwa dole ne a haɗa shi da kariyar tsarin kamar tambayoyi masu ma'ana, ko kuma za ku ci gaba da kasancewa cikin rauni.

Abin da mai ɗaukar kaya Hakika Yana Yi (kuma Ba Ya Yi)

Yawancin masu haɓaka suna amfani da stripchar ko ayyuka makamantan su don cire haruffa marasa aminci daga shigarwar mai amfani. Yawanci, yana cire alamun rubutu, alamomi na musamman, ko duk wani abu da ba na haruffa ba. Da farko, hakan yana kama da tsaftace shigarwa, amma ba kariya ta gaske ba ce.

Bari mu raba shi. Aiki kamar haka:

				
					function stripchar(input) {
  return input.replace(/[^\w\s]/gi, '');
}

				
			

yana cire haruffa kamar ', ", ko ;To, idan ka shiga:

				
					'; DROP TABLE users; --

				
			

Yana zama:

				
					DROP TABLE users

				
			

Ko da shigarwar mai amfani ta yi kama da tsabta, masu kai hari za su iya shigar da nauyin SQL ta amfani da dabaru kawai, musamman lokacin da aikace-aikacen ke gina tambayoyi ta hanyar haɗa igiyoyi. Don hana allurar SQL da gaske, dole ne ka yi amfani da tambayoyi masu fasali da kuma sarrafa shigarwar da ta dace da mahallin. Matatun haruffa kamar stripchar() kawai ba su isa ba.

Hakika, bayanan da aka cire za su iya zama mafi aminci a kallo ɗaya. Duk da haka, wannan hanyar ba ta kawar da mummunan dabaru ba, kawai tana canza yadda ake rubuta ta. A gaskiya ma, masu kai hari galibi suna amfani da wannan ta hanyar ɓoye abubuwan da suka dace, saka sarari, ko amfani da haruffan da aka cire da dabara don kauce wa matattarar ku gaba ɗaya.

Bayan haka, mai ɗaukar kaya ba shi da wani muhimmin mahallin da ke cikin wannan shafin. Bai san ko shigarwar tana kan hanyar zuwa rumbun adana bayanai, harsashi, ko burauza ba. Wannan yana nufin ba zai iya amfani da hanyar tserewa ko lambar sirri da ta dace ba. Tsaftace shigarwar ba tare da sanin inda za ta je ba kamar tserewa daga HTML ne yayin da ainihin barazanar ke faruwa. SQLi.

A ƙarshe, mai ɗaukar kaya  Ba ya fassara ko kare komai, kawai yana gyara zaren rubutu. Kuma gyara ba tsaro bane. Idan kuna son kariya ta gaske, yi amfani da tambayoyi masu tsari, ingantattun bayanai, da kuma waɗanda aka tsara. Cikakken tasha.

Domin fayyace bambancin, ga yadda stripchar ke kwatantawa gefe-gefe da tambayoyi masu fasali:

Tambayoyin Stripchar vs Parameterized: Wanne Ake Kare Lambarka A Dai-dai?

Featurestripchar()Tambayoyin da aka daidaita
kariya LevelTsaftace igiyoyi na asali. Ana iya kauce musu cikin sauƙi ta hanyar amfani da dabarun ɓoye bayanai ko dabaru.Kariya mai ƙarfi daga duk nau'ikan allurar SQL.
Fadakarwa Kan MaganaMakaho ga mahallin (SQL, HTML, harsashi, da sauransu). Yana amfani da wannan doka a ko'ina.Yana da cikakken sanin mahallin. Yana amfani da hanyar tserewa mai kyau ga kowane yanayi.
Ƙoƙarin Mai HaɓakawaAna iya aiwatar da shi cikin sauri amma ba shi da amfani don amfani na dogon lokaci.Yana buƙatar haɗin kai mai kyau, amma mai ƙarfi da kuma tabbacin nan gaba.
Juriyar KewayaƘananan - masu kai hari suna daidaitawa cikin sauƙi ta amfani da sarari, lambar sirri, ko dabaru.Babban - yana raba lamba daga bayanai kuma yana toshe allurar cikin aminci.
Amincewar TsaroRashin jin daɗin aminci - yana iya ɓoye matsalar ba tare da gyara ta ba.Amintaccen masana'antu standard don aiwatar da bincike mai aminci.

Yadda Masu Kai Hare-hare Ke Keta Tsabtace Shigarwa

Wannan shine yadda kwararar ruwa mai rauni ta yau da kullun take kama lokacin da masu haɓaka suka dogara da mai ɗaukar kaya don tsaftace shigarwa:

stripchar - shigarwa tsaftacewa -tambayoyin da aka ƙayyade

Masu kai hari ba sa buƙatar karya matatun ku, kawai suna buƙatar su ku zagaya da suLokacin da masu haɓaka suka dogara da mai ɗaukar kaya Don tsaftace shigarwar bayanai, sau da yawa suna ɗauka cewa cire haruffa kamar ambato ko semicolons zai toshe yunƙurin allura. Duk da haka, maharan suna daidaitawa da sauri. Suna ƙirƙira da sauri. abubuwan da suka ɓoye waɗanda ke zamewa ta cikin matatun da suka dogara da regex, musamman lokacin da waɗannan matatun ba su da mahallin.

Misali, bari mu ce ka yi ƙoƙarin tsaftace shigarwar kamar haka:

				
					const input = stripchar(userInput);
// safe to use? maybe not.
db.query("SELECT * FROM users WHERE name = '" + input + "'");

				
			

Ko da mai amfani ba zai iya ƙaddamar da wani tsari na gargajiya ba ' OR 1=1 --, suna iya amfani da dabarun Unicode, haɗa igiyoyi, ko kuma tsarin rubutu da ya lalace wanda har yanzu yana aiki. Sau da yawa ana amfani da kayan aiki kamar wannan:

				
					0x27206F7220313D31--  
				
			

ko:

				
					'+UNION+SELECT+null,null,null--
				
			

Idan aikinka ya cire haruffa marasa kalmomi, za ka iya sake gina ingantaccen umarnin SQL ba da gangan baMafi muni, masu kai hari za su iya ɓoye ƙima ta hanyoyin da za su wuce matattarar ku amma tsarin da aka nufa zai iya fassara ta.

Bayan allurar SQL, mai ɗaukar kaya ya gaza a wasu yanayi kuma, kamar umarnin harsashi, hanyoyin fayil, ko ma aiwatar da JavaScript. Tunda ba shi da masaniyar inda za a yi amfani da shigarwar, ba zai iya amfani da hanyar tserewa ko tabbatarwa mai kyau ba.

Saboda, tsaftace shigarwa tare da mai ɗaukar kaya yana da sauƙin kauce masa. Tsaron gaske yana fitowa ne daga sarrafawa masu sanin mahallin, musamman tambayoyi masu ma'ana wanda ke hana allurar dabaru gaba ɗaya.

Me Yasa Ya Kamata Ka Yi Amfani da Tambayoyi Masu Daidaita Daidaito Madadin haka

Idan kana son dakatar da hare-haren allurar da gaske, kana buƙatar daina gina tambayoyi da igiyoyi. Nan ke nan tambayoyi masu ma'ana shigo. Sabanin haka mai ɗaukar kaya, ba sa tacewa, su lambar daban daga bayanai a matakin injin.

Bari mu sake duba tambayar da aka karya:

				
					const input = stripchar(userInput);
const query = "SELECT * FROM users WHERE name = '" + input + "'";
				
			

Wannan yana da haɗari domin shigarwar tana shiga kai tsaye cikin SQL. Ko da an cire haruffa, har yanzu kuna gina igiya wanda za a iya amfani da shi ba daidai ba. Madadin haka, yi amfani da tambaya mai fasali kamar haka:

				
					const query = "SELECT * FROM users WHERE name = ?";
db.execute(query, [userInput]);
				
			

A nan, direban bayanai ya san hakan userInput bayanai ne, lambar da ba za a iya aiwatarwa baYana tserewa ta atomatik kuma yana toshe allura, koda kuwa shigarwar ta ƙunshi ambato, ko kuma alamun da aka rubuta a cikin lambar hex.

A cikin Python:

				
					cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
				
			

A cikin PHP tare da PDO:

				
					$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->execute(['name' => $input]);

				
			

A cikin duk waɗannan misalan, tambayoyi masu ma'ana hana allura ba tare da buƙatar yin hasashen waɗanne haruffa ne za su iya zama haɗari ba. Ba kwa buƙatar mai yanke hukunci, kuna buƙatar tsarin bincike mai tsari, mai fahimtar mahallin.

Bugu da ƙari, wannan dabarar tana toshe hanyoyin biyan kuɗi masu ɓoye, dabarun Unicode, da hanyoyin ɓoye bayanai, irin waɗannan tsare-tsaren gujewa da ake samu a cikin Raunin raunin XSSKayan aiki kamar Xygeni suna gano waɗannan barazanar da wuri SAST analysis.

A takaice, ainihin kariya ba ta dogara da matattara ba. Suna dogara ne akan ladabi, amintaccen APIs, da cikakken mahallin. Idan kuna amfani da tsarin aiki ko allurar sabis mai ƙarfi, ku san yadda shigarwar ke yaduwa ta cikin tushen lambar ku. Allurar dogaro mai aminci yana tabbatar da cewa ko da kwararar ruwa mai rikitarwa ba za ta buɗe sabbin wuraren kai hari ba.

Kada Ka Dogara Da mai ɗaukar kayaYi amfani da Xygeni don Aiwatar da Tsaron Gaske

Ko da kun yi amfani da tambayoyi masu ma'ana, babu tabbacin cewa dukkan tushen lambar ku yana bin iri ɗaya standard. Tsarin dabaru na baya, rubutun wasu mutane, ko layukan da aka yi watsi da su a cikin hulɗar jama'a na iya haifar da haɗarin allura. A nan ne Xygeni ke taimakawa.

Xygeni yana duba lambar tushe, pull requests, da kuma CI pipelines don kamawa:

  • Tambayoyin da ke gina SQL tare da haɗin kai
  • Matatun mai rauni ko na gida kamar mai ɗaukar kaya
  • Dabaru masu ban mamaki waɗanda suka dace da abubuwan da aka sani da aka ɓoye

Ba kwa buƙatar yin tsefe a kowane layi. Xygeni yana nuna alamun rashin lafiya da wuri, yana aiki Gyaran Kai-tsaye inda zai yiwu, kuma yana iya toshe haɗakar haɗari tare da customizable Guardrails.

A takaice, Xygeni yana tabbatar da cewa tambayoyin da aka tsara ba wai kawai hanya ce mafi kyau ba, ana aiwatar da su a sikelin. Babu ƙarin zato. Babu matatun da aka rasa. Kariya ce ta gaske.f

Kana son ganin yadda Xygeni ke samun tambayoyi marasa tsaro a cikin lambar ka?

Fara gwaji kyauta! Babu katin kiredit, cikakken gani daga scan ɗinka na farko.

Muhimman Abubuwan Da Za A Yi Tunawa Da Su: Abin da Ya Kamata A Tuna Game da Shi mai ɗaukar kaya da kuma Hadarin Allura

  • mai ɗaukar kaya ba aikin tsaro ba ne - yana cire haruffa, ba haɗari ba.
  • Tsaftace shigarwar bai isa ba lokacin da kake gina tambayoyi tare da haɗin igiya.
  • Tambayoyin da aka ƙayyade sune kariya ta daidai, kuma kowane harshe ko tsarin zamani yana goyon bayansu.
  • Abubuwan da suka ɓoye na iya zamewa ta hanyar matattaramusamman idan akwai dabarun rubuta lambobi.
  • Nazarin tsaye (SAST) kayan aiki suna kama abin da mutane ke rasa, gami da tsare-tsare marasa tsaro da ke ɓoye a cikin lambar da ta gabata.
  • Xygeni yana ganowa ta atomatik, fifita fifiko, har ma da gyarawa don haka ƙungiyar ku za ta iya mai da hankali kan rubuce-rubucen fasaloli, ba bin raunin da ke tattare da su ba.

Kammalawa: Kada Ka Amince da Matatun. An tsare ta hanyar Zane.

Dogaro da ayyuka kamar mai ɗaukar kaya na iya jin kamar gyara ne cikin sauri, amma suna haifar da rashin tsaro. Masu kai hari suna tasowa da sauri fiye da yadda matattarar igiya ke yi. Hanya ɗaya tilo da za a iya tabbatar da ita don dakatar da hare-haren allura ita ce ta hanyar rubuta lambar tsaro ta hanyar ƙira, da kuma aiwatar da wannan ƙirar a ko'ina.

Kayan aiki kamar Xygeni suna taimaka maka yin hakan ta atomatik. Daga pull request to pipeline, suna kama abin da matatunka ba su yi ba, kuma suna gyara shi kafin ya kai ga samarwa.

kayan aikin nazarin kayan aikin sca-tools-composition
Fifiko, gyara, da kuma kare haɗarin software ɗinka
Sami Asusunka Kyauta.
Babu katin bashi da ake bukata.

Tabbatar da haɓaka software da isar da shi

tare da Xygeni Product Suite