上期吹牛的時(shí)候,說(shuō)了下手工注入的基本原理。
“Sql注入攻擊是通過(guò)將惡意的Sql查詢或添加語(yǔ)句插入到應(yīng)用的輸入?yún)?shù)中,再在后臺(tái)Sql服務(wù)器上解析執(zhí)行進(jìn)行的攻擊。
本質(zhì)上就是對(duì)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)的讀寫操作,對(duì)sql語(yǔ)言進(jìn)行變相的操作。
之前也說(shuō)到了工具,當(dāng)時(shí)表達(dá)出一個(gè)觀點(diǎn),不管“黑貓白貓,能抓到老鼠就是好貓”。
確實(shí),不管工具還是手工注入,一般情況下都可以得到相應(yīng)的信息,但我也說(shuō)了,是“一般”情況下,那么“二般”情況下呢?
這個(gè)就涉及到了各行各業(yè)的核心——大神和菜鳥(niǎo)的區(qū)別。
菜鳥(niǎo),有工具我可以搞,但是不一定搞得定。
大神,管你什么玩意,什么能搞,用什么。
手工注入就是這個(gè)樣子的存在。
原理性極強(qiáng),熟練使用手工注入的人,一般是脫離了菜鳥(niǎo)水平稱號(hào)的人。
說(shuō)太多了,這次討論幾個(gè)問(wèn)題。
手工注入怎么入門?
注入的條件?
一、手工注入怎么入門?
停!先別開(kāi)口,我生怕你說(shuō)出一句,“手工注入就是瞎填寫東西!”
說(shuō)到怎么入門,我們先回歸本質(zhì)。
從手工注入的原理來(lái)看,關(guān)鍵字,sql。
sql是什么,實(shí)質(zhì)就是一種數(shù)據(jù)庫(kù)語(yǔ)言,數(shù)據(jù)庫(kù)系統(tǒng)。
又延伸出幾個(gè)問(wèn)題:
數(shù)據(jù)庫(kù)是什么?
數(shù)據(jù)庫(kù)系統(tǒng)是什么?
涉及到哪些東西?
、數(shù)據(jù)庫(kù)是什么?
很明顯,數(shù)據(jù)庫(kù)就是存放數(shù)據(jù)的地方。
、數(shù)據(jù)庫(kù)系統(tǒng)是什么?
實(shí)際上分為兩個(gè)部分:數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)。
、涉及到哪些東西?
涉及到表結(jié)構(gòu),基本的代碼執(zhí)行流程。
所以你認(rèn)為手工注入怎么入門呢?
沒(méi)錯(cuò),就是學(xué)習(xí)數(shù)據(jù)庫(kù)的相關(guān)知識(shí),邊學(xué)習(xí),邊操作,本次不進(jìn)行數(shù)據(jù)庫(kù)語(yǔ)言具體展示,下期繼續(xù)!
二、注入的條件?
先不著急說(shuō)條件,我先問(wèn)一個(gè)事情?
了解靜態(tài)語(yǔ)言嗎?
了解動(dòng)態(tài)語(yǔ)言嗎?
了解前端,后端嗎?
、靜態(tài)語(yǔ)言是什么?
靜態(tài)語(yǔ)言,是固定運(yùn)行結(jié)果的語(yǔ)言,典型的范例就是html編寫的靜態(tài)頁(yè)面代碼,比如說(shuō)創(chuàng)建一個(gè)表格,在html語(yǔ)言中表格行列數(shù)是不能變化和調(diào)整的。
、動(dòng)態(tài)語(yǔ)言是什么?
動(dòng)態(tài)語(yǔ)言,根據(jù)條件的不同,輸出的內(nèi)容可能不同。例如:編寫網(wǎng)頁(yè)的asp語(yǔ)言,可以通過(guò)查詢數(shù)據(jù)庫(kù),生成動(dòng)態(tài)行數(shù)的數(shù)據(jù)表。
、前端,后端什么區(qū)別?
前端開(kāi)發(fā)主要做的是用戶所能看到的前端展示界面,現(xiàn)在很多地方其實(shí)都是換湯不換藥,前端做殼,底層都是一個(gè)樣子。
前端開(kāi)發(fā)用到的技術(shù)包括很多,比如html5、css3、javascript、jquery這些技術(shù)。
后端開(kāi)發(fā)主要做的是邏輯功能等模塊,是用戶不可見(jiàn)的。
后端開(kāi)發(fā) 以java為例 主要用到的 是包括但不限于Struts spring springmvc ssh等技術(shù)。
這些都說(shuō)了,其實(shí)我還是沒(méi)有回答手工注入的條件。
只有通過(guò)后端調(diào)用數(shù)據(jù)庫(kù)的動(dòng)態(tài)頁(yè)面才可以使用注入漏洞。
沒(méi)錯(cuò),就是動(dòng)態(tài)頁(yè)面。
又產(chǎn)生了一個(gè)問(wèn)題,什么是動(dòng)態(tài)頁(yè)面?
專門去百度了一下,來(lái)個(gè)權(quán)威的解答。
所謂的動(dòng)態(tài)網(wǎng)頁(yè),是指跟靜態(tài)網(wǎng)頁(yè)相對(duì)的一種網(wǎng)頁(yè)編程技術(shù)。
靜態(tài)網(wǎng)頁(yè),隨著html代碼的生成,頁(yè)面的內(nèi)容和顯示效果就基本上不會(huì)發(fā)生變化了——除非你修改頁(yè)面代碼。
而動(dòng)態(tài)網(wǎng)頁(yè)則不然,頁(yè)面代碼雖然沒(méi)有變,但是顯示的內(nèi)容卻是可以隨著時(shí)間、環(huán)境或者數(shù)據(jù)庫(kù)操作的結(jié)果而發(fā)生改變的。
三、總結(jié)
這篇是個(gè)普及文章,先了解大概的東西,才好進(jìn)行下一步操作。
成為大神之路,基礎(chǔ)還是要打好,數(shù)據(jù)庫(kù)先把基礎(chǔ)原理學(xué)習(xí)會(huì),然后后期手工注入才有大展神威的時(shí)候,這個(gè)只能自己努力了。
學(xué)會(huì)系統(tǒng)的理論框架,然后在找到一個(gè)具體的方向,進(jìn)行深入鉆研,這樣才可以進(jìn)步。
有很多想法,評(píng)論回復(fù)。
未完待續(xù),下期繼續(xù)更新。