一、序 高手經(jīng)常說: 細節(jié)決定勝敗 ,的確是這樣的,但這些細節(jié)為什么他們能注意到,而不是你們呢?牛頓有句話說得好: 如果我比別人看得遠,那是因為我站在巨人的肩膀上。 ,牛頓之所以能創(chuàng)建經(jīng)典力學(xué),那是因為他積累前人的經(jīng)驗。 本書收錄過往4年經(jīng)典、有價值的案例,都是通過最簡潔的話來敘寫的,為的就是讓大家在審核代碼的時候,多一份心眼和多一份小心。通過長時間累積一定案例,相信你的眼睛也會變得如孫悟空的金精一般銳利,不再為細膩而煩惱,不再為秋毫而擔憂。 有時候你會不會為堆積得像喜馬拉雅山的書箱感到惡心?有時候你會不會因為缺乏經(jīng)驗而落后?有時候你會不會讓自己與別人比起來更勝一籌? 你缺少的就是這些。本書屬于總結(jié)性很強的讀物,知識點的相互交織和相互編排在節(jié)奏上顯得非常的緊湊。 計算機的未來發(fā)展之路也是充滿著無限個未知數(shù)的。可能大家還沒完全地掌握舊的技術(shù),但新的概念已經(jīng)猶如龍卷風般不斷地席卷著網(wǎng)絡(luò),似橫掃千軍之勢鞭策著信息的大大小小安全領(lǐng)域,書本告訴你的東西永遠是有限的、最基本的,所以你還要踏實地去實踐、探索,拼命地走到最前沿。 不要急躁,代碼總是令人感到枯草,她幾不大方,也不得體,要是你不去深深地了解她,她是不會理睬你的。本書也無法改變這一事實,尤其在腳本或編程里,代碼成千上萬,你想記得深刻,必要有一定英語能力,畢竟計算機是老外發(fā)明的。 不要迷茫,方法總是讓人感到困惑,她是柔軟的,也是高貴的,要是你不去細細地感受她,她只能默不作聲地等待著。本書盡量地去繁就簡,將好的方法都融會貫通到實例當中,讀者在實踐的過程中領(lǐng)略到過中的樂趣。 不要欺騙,理論總是使人感到疑惑,她很重要,也很自信。要是你不去反復(fù)地明白她,她會讓你無從下手。本書立足于理論,一切都從理論出發(fā),再復(fù)雜的技術(shù),也莫過如此。 作為一個技術(shù)追求者,只要有顆熾熱的心,就沒有什么能夠阻擋你對天馬行空的向往,對自由的追求。序的最后引用土豆大叔一段話來鼓勵大家: 曾記得,黑客的原意好像是指那些對計算機執(zhí)著鉆研,擅長去研究系統(tǒng)的狂熱者。但現(xiàn)在黑客的原意已被雨打風吹去,我們那一班還死死地抱著 自由、共享、交流、鉆研 的朋友們,你們今天還好嗎?當為著這些原生態(tài)的黑客精神而熱淚盈眶時,當為理想而奮斗時,當夢想還在支撐著你默默地前行。你是否察覺,美麗而純粹的黑客世界在你身后行將崩塌。不讓生活磨滅我們的個性,是對自己精神價值的鼓舞,還是現(xiàn)實生活中蒼白無奈的吶喊?當鉛華蕩盡,泡沫破滅,驀然回首,你是否感嘆在生命中曾經(jīng)有過一段無悔的歲月? 二、如何使用和不足之處、特色 本書在每一個相應(yīng)的章節(jié)都有部分的注釋,采用羅馬數(shù)字,這些注釋有些是解析某個名詞,有些是提醒讀者要注意的地方。由于篇幅的關(guān)系,若遇到一些概念較為復(fù)雜,它們都會被寫到本書的 附錄 中。 不但這樣,在部分重要的章節(jié)設(shè)有練習,讀者在做習題的同時,促進自己對某個知識的理解,并有對應(yīng)的參考答案匹配。還有,ASP和PHP、SQL三種源代碼都可以從光盤中拷貝,如此一來讓你高效地加速你的腳本能力。 當然,本書也有不足,一本書的篇幅,是絕對不可能去論述所有腳本技術(shù)。例如客戶端腳本,提及得少之又少,但了解XML、JavaScript之類的語言對幫助跨站的理解起著不可忽略的作用。 本書最大特色是asp.net的研究,在這方面研究的人也很少,案例也少之又少,所以會心有余力不足的感覺。是特色之一,也是遺憾之一。三、本書適合的人群1、沒有任何基礎(chǔ),想迅速地提高自己腳本分析能力的人。2、經(jīng)常地遭受腳本攻擊的腳本程序員,想通過一本書來保護自己。3、有一定基礎(chǔ)的人,但苦于沒有找到一本涵蓋性比較大的書籍來提升自己的實力。在書中,有羅馬數(shù)字的注釋(注意在文本中的羅馬數(shù)字,并請找到對應(yīng)的注釋)。目錄如下(有對應(yīng)部分的圖、表或源代碼):第一部分:HTML(第一部分圖)第一章HTML初識1.1HTML概述1.2HTML標簽1.3HTML屬性1.4HTML編寫第二章HTML標簽2.1錨標簽和Href屬性2.2框架結(jié)構(gòu)標簽2.3列表標簽2.4表單標簽2.5圖像標簽2.6練習第二部分:ASP(第二部分表、第二部分圖、ASP(文件夾)代碼、SQL(文件夾)代碼)第一章初識ASP1.1ASP的環(huán)境安裝1.2SQL的環(huán)境安裝 實例1-1第一個ASP1.3練習第二章認識VBScript2.1書寫VBScript 實例2-1、實例2-2三種標記2.2VBScript編程基礎(chǔ) 實例2-3學(xué)習Sub和Function與它們之間的區(qū)別 實例2-4過程級變量與腳本級變量的區(qū)別 實例2-5if...then...else語句 實例2-6select...case語句 實例2-7dowhile...loop語句 實例2-8for...next語句2.3練習第三章ASP的對象、組件、引用一、對象3.1Request對象 實例3-1表單用GET提交數(shù)據(jù) 實例3-2Form(QueryString)函數(shù)的應(yīng)用 實例3-3獲取所有環(huán)境變量值 實例3-4Cookie的簡單應(yīng)用3.2Response對象3.3Server對象3.4Application對象 實例3-5制作簡單聊天室3.5Session對象 實例3-6Session對象的應(yīng)用二、ASP組件3.6Dictionary對象 實例3-7 Dictionary對象的應(yīng)用3.7FileSystemObject對象3.8Drive對象 實例3-8Drive對象的應(yīng)用3.9Folder對象 實例3-9Folder對象的應(yīng)用3.10File對象 實例3-10File對象的應(yīng)用3.11TextStream對象 實例3-11制作簡單的統(tǒng)計系統(tǒng)三、引用3.12練習第四章SQL查詢與數(shù)據(jù)庫4.1數(shù)據(jù)庫與表4.2分號4.3SQLDML和DDL4.4創(chuàng)建數(shù)據(jù)庫與表4.5SELECT語句4.6SELECTDISTINCT語句4.7WHERE子句4.8AND OR運算符4.9ORDERBY子句4.10INSERTINTO語句4.11UPDATE語句4.12DELETE語句4.13TOP子句4.14LIKE操作符4.15通配符4.16IN操作符4.17BETWEEN操作符4.18Alias別名4.19JOIN子句4.20UNION和UNIONALL操作符4.21SELECTINTO語句4.22約束4.23CREATEINDEX語句4.24撤銷索引、表以及數(shù)據(jù)庫4.25ALTERTABLE語句4.26AUTOINCREMENT字段4.27NULL值4.28SQL函數(shù)4.29SQL存儲過程4.30練習第五章ADO數(shù)據(jù)庫編程5.1Connection對象 實例5-1Connection對象的應(yīng)用5.2RecordSet對象 實例5-2通過RecordSet對象獲取表格記錄 實例5-3通過SQL獲取表格記錄 實例5-4RecordSet對象編輯記錄 實例5-5RecordSet對象移動記錄5.3第三章和第五章練習第三部分:PHP(第三部分表、第三部分圖、PHP(文件夾)代碼)第一章PHP基礎(chǔ)1.1PHP環(huán)境 實例1-1HelloWorld1.2HelloWorld程序1.3PHP語法1.4PHP注釋 實例1-2PHP注釋1.5變量和常量 實例1-3$_GET的應(yīng)用1.6數(shù)據(jù)類型 實例1-4字符串的應(yīng)用1.7表達式/操作符/優(yōu)先順序 實例1-5算術(shù)操作符的應(yīng)用 實例1-6遞增/遞減操作符的應(yīng)用 實例1-7指定操作符的應(yīng)用 實例1-8比較操作符的應(yīng)用 實例1-9邏輯操作符的應(yīng)用 實例1-10錯誤操作符的應(yīng)用1.8PHP結(jié)構(gòu) 實例1-11選擇結(jié)構(gòu)的應(yīng)用 實例1-12多重IF語句的應(yīng)用 實例1-13switch語句的應(yīng)用 實例1-14while語句的應(yīng)用 實例1-15do...while語句的應(yīng)用 實例1-16for語句的應(yīng)用 實例1-1799乘法表 實例1-18break語句的應(yīng)用 實例1-19continue語句的應(yīng)用1.9練習第二章PHP函數(shù)和變量的作用域2.1函數(shù) 實例2-1定義函數(shù)2.2參數(shù)傳遞與返回值 實例2-2傳遞引用的第一種方法 實例2-3傳遞引用的第二種方法2.3參數(shù)默認值 實例2-4參數(shù)默認值的應(yīng)用 實例2-5默認值少傳參數(shù)2.4返回值 實例2-6返回多個值2.5可變函數(shù)名稱 實例2-7可變函數(shù)名稱的應(yīng)用2.6變量作用域 實例2-8global的應(yīng)用 實例2-9$global[]的應(yīng)用2.7引用文件 實例2-10require的應(yīng)用 實例2-11require_once的應(yīng)用 實例2-12include的應(yīng)用 實例2-13include_once的應(yīng)用2.8cookie與session 實例2-14setcookie的簡單應(yīng)用 實例2-15session的簡單應(yīng)用2.9練習第三章PHP類與對象3.1類與對象 實例3-1類與對象的應(yīng)用3.2限定字符 實例3-2public和private的應(yīng)用 實例3-3const和final的的應(yīng)用3.3構(gòu)造函數(shù)和析構(gòu)函數(shù) 實例3-4構(gòu)造函數(shù)和析構(gòu)函數(shù)的應(yīng)用3.4封裝 實例3-5封裝的簡單應(yīng)用3.5繼承 實例3-6繼承的應(yīng)用3.6多態(tài) 實例3-7多態(tài)的應(yīng)用3.7接口 實例3-8接口的應(yīng)用3.8練習第四章MySQL4.1MySQL基礎(chǔ)4.2MySQL的基礎(chǔ)SQL4.3MySQL的高級SQL4.4關(guān)于MySQL的軟件4.5練習第五章php與mysql連接5.1創(chuàng)建連接、選用數(shù)據(jù)庫、執(zhí)行SQL5.2分析表頭5.3分析表身5.4釋放數(shù)據(jù)5.5會員登陸的實例5.6練習第六章PHP正則表達式6.1什么是正則表達式6.2PHP和正則表達式6.3正則表達式函數(shù)與普通的替換函數(shù)6.4正則表達式的號角6.5元字符6.6字符轉(zhuǎn)義6.7重復(fù)6.8字符類6.9分枝條件6.10分組6.11反義6.12后向引用6.13正則表達式之路6.14ereg(eregi)函數(shù)的應(yīng)用案例6.15eregi_replace(ereg_replace)函數(shù)的應(yīng)用實例6.16split(spliti)函數(shù)的應(yīng)用案例6.17練習第四部分:ASP.NET安全編程(第四部分表、第四部分圖)第一章asp.net3.5入門1.1.ASP.NET的環(huán)境1.2ASP.NET編程模型第二章Web控件2.1使用LiteralWeb控件2.2Web窗體基礎(chǔ)2.3驗證控件第三章狀態(tài)管理3.1視圖狀態(tài)3.2在頁面間傳送信息3.3Cookie3.4會話狀態(tài)3.5應(yīng)用程序狀態(tài)第四章ADO.NET基礎(chǔ)4.1其他的數(shù)據(jù)庫查詢4.2ADO.NET架構(gòu)4.3Connection類4.4Command類和DataReader類4.5事務(wù)第五章數(shù)據(jù)組件5.1構(gòu)建數(shù)據(jù)訪問組件5.2DataSet類5.3DataAdapter類5.4強類型DataSet第六章文件和流6.1使用文件系統(tǒng)6.2使用流讀寫文件第七章LINQ7.1LINQ基礎(chǔ)7.2LINQtoSQL實例一:Discuz!NT的注入漏洞實例二:風訊的兩個漏洞第五部分:ASP安全(第五部分圖)第一章ASP安全基礎(chǔ)1.1注入漏洞1.2暴庫漏洞1.3跨站漏洞1.4上傳漏洞1.5寫入木馬漏洞第二章ASP安全高級實例一:sf-blog漏洞分析實例二:拼客內(nèi)容管理系統(tǒng)的Cookie注入實例三:伴江行購物聯(lián)盟的繞過Isinteger函數(shù)注入實例四:bbsxp7.0sp2的文件頭欺騙上傳實例五:嘉楓文章管理系統(tǒng)的搜索型注入實例六:訊時2.9漏洞分析實例七:bbsgood5.0SQL版兩個注入分析暨利用實例八:兩種最短的跨站代碼實例九:IIS6與動易上傳漏洞實例十:后臺至shell的大作戰(zhàn)實例十一:動網(wǎng)8.0繞過單引號注入實例十二:bbsxp2008的繞過空格注入實例十三:oblog4.6的下載任意文件漏洞實例十四:bbsxp2008的數(shù)組注入實例十五:從雞肋到雞翅--細品都市自媒體博客實例十六:新云一個邏輯性漏洞實例十七:風訊的另類注入實例十八:瞬間讓你的服務(wù)器負載100%實例十九:ONSHP購物系統(tǒng)個人版的跨站實例二十:兩種 萬能密碼 實例二十一:oblog4.0的In注入實例二十二:oblog4.5跨站漏洞大觀園實例二十三:L-BLOG的提權(quán)漏洞實例二十四:bbsxp7.0Beta2環(huán)境注入漏洞實例二十五:風訊漏洞分析實例二十六:PJBlog的雙引號注入案例二十七:動網(wǎng)8.2的URL編碼注入實例二十八:動網(wǎng)IIS上傳漏洞第六部分:PHP安全(第六部分圖)實例一:FTBBS5.3漏洞分析實例二:dedecms5.1URL編碼注入實例三:discuz6.0的字符集編碼注入實例四:phpcms的多個漏洞實例五:Cookie注入和In注入實例六:Discuz5.0的In注入實例七:insert注入和環(huán)境變量注入實例八:dedecms5多個漏洞實例九:phpbb注入漏洞與BENCHMARK函數(shù)實例十:WordPress2.0.6的繞過intval函數(shù)注入實例十一:class-1ForumSoftware上傳漏洞實例十二:FTBBS的上傳漏洞實例十三:ImgUpload的上傳漏洞實例十四:phpwind的UBB跨站實例十五:藍色伊人文章系統(tǒng)漏洞分析實例十六:由preg_match()函數(shù)到跨站、泄露路徑實例十七:遠程包含漏洞實例十八:MolyXBoard2.6.1的本地包含實例十九:小鬼當家音樂系統(tǒng)的插馬漏洞實例二十:遠程執(zhí)行漏洞實例二十一:在magic_quotes_gpc=off下繞過兩種函數(shù)翻譯:高級PHP應(yīng)用程序漏洞審核技術(shù)實例二十二:JTBC網(wǎng)站內(nèi)容管理系統(tǒng)漏洞分析實例二十三:f2blog漏洞分析實例二十四:Discuz各個版本后臺至Shell第七部分:JSP(第七部分圖)第一章JSP基礎(chǔ)知識1.1JSP簡介1.2JSP運行原理1.3JSP環(huán)境搭建 實例1-1第一個JSP第二章JSP語法2.1Java語法 實例2-1操作數(shù)組對象 實例2-2操作二維數(shù)組 實例2-3使用普通算術(shù)運算符 實例2-4使用自增自減操作符2.2面向?qū)ο?.3Java常用類 實例2-5使用File類2.4JSP相關(guān)元素 實例2-6JSP的聲明 實例2-7include指令的使用2.5JSP內(nèi)置對象 實例2-8getParameter方法的使用 實例2-9getParameterNames方法的使用 實例2-10getParameterValues方法的使用 實例2-11print和println方法的使用2.6JSP數(shù)據(jù)庫應(yīng)用 實例2-12使用JDBC在jsp中讀取在數(shù)據(jù)庫中的數(shù)據(jù)2.7Servlet 實例2-13JSP-Servlet映射2.8JavaBean第三章JSP實用工具編寫3.1JSP一句話木馬功能實現(xiàn)3.2Cmdshell功能的實現(xiàn)第八部分:JSP安全(第八部分圖)第一章JSP引擎漏洞1.1Tomcat登陸認證缺陷1.2解析器后臺webshell獲取1.3web目錄瀏覽漏洞1.4源代碼泄露漏洞1.5下載任意文件漏洞1.6遠程代碼執(zhí)行漏洞1.7跨站漏洞第二章腳本漏洞分析2.1JSP腳本注入漏洞 實例2-1使用JDBC在jsp中讀取在數(shù)據(jù)庫中的數(shù)據(jù)2.2JSP跨站漏洞2.3JSP上傳漏洞2.4權(quán)限驗證缺失漏洞2.5對ftbbsSQL2.0JSP商業(yè)版的分析第三章入侵實例部分3.1入侵JSP網(wǎng)站常規(guī)方法3.2對某開發(fā)中心的一次安全檢測3.3對某演藝中心的一次安全檢測3.4對基于struts2的教學(xué)管理系統(tǒng)的黑白盒分析3.5對某大學(xué)的安全檢測附錄:注釋在書本中沒有解釋的(復(fù)雜)名詞。參考答案:部分章節(jié)有練習,這些是對應(yīng)的答案。大部分已經(jīng)用winrar打包,解壓即可使用。有些安裝程序需要在安裝后才能使用,例如Dreamweaver8。有些有些電子書需要安裝AdbeRdr,才能閱讀。目錄如下:第一至六部分源代碼BBSGoodSpeed5BBSXP70Beta2bbsxp2008dedecmsv51gbk版Discuz6.0.0_SCGBK版Discuz7.0.0_FULL_SCGBK版Discuz論壇5.0簡體中文GBK安裝程序ftbbs5SQL版FTBBS5PHP的GBK版ImgUploadv2.01漢化版molyxboard2.6.1nodownload表(防下載用的)oblog4.0、4.5、4.6三個版本one.asp(一句話木馬)phpcms2007sp6gbk版PHPWind5.3GBK版sf-blogv1.1small.aspx(aspx的小馬)spy.php(PHP大馬)WordPressv2.0.6簡體中文版伴江行購物聯(lián)盟5動網(wǎng)8.0商業(yè)版風訊4.0冠龍科技企業(yè)自助建站系統(tǒng)花香盈路6.6嘉楓文章管理系統(tǒng)2.0免費版藍色伊人文章系統(tǒng)留言板螞蟻影院3.0密碼框.php唐網(wǎng)科技V2008萬豪下載系統(tǒng)小鬼當家音樂系統(tǒng)新云2.1織夢工作室企業(yè)全站程序工具AdbeRdrWinHex超強Access密碼破解器Base64超強加密軟件dotnetfx(.net相關(guān)的)Dreamweaver8fengxun.htmGYSInew注入工具JMPostminibrowserMySQLFrontv5.1b132NC(NetCat,又名瑞士軍刀,經(jīng)典工具。)PHPnow1.5.4pjblog.vbsRegexTesterQuickSpoofSQL注入16進制轉(zhuǎn)換工具Upload_user.htmVisualWebDeveloperWinSock啊D注入工具輔臣數(shù)據(jù)庫瀏覽器桂林老兵cookie瀏覽器MyBrowser腳本轉(zhuǎn)發(fā)代碼牛族轉(zhuǎn)換器電子書或視頻dos教程iis技術(shù)講座PHP一百講 PHP環(huán)境搭配和php與mysql連接的函數(shù)PHP正則相關(guān)的幾個preg函數(shù)Session函數(shù)庫setcookie函數(shù)的語法精通JavaScript(圖靈計算機科學(xué)叢書)SQL函數(shù)高級PHP應(yīng)用程序漏洞審核技術(shù)第七、八部分工具apache-tomcat-6.0.14jakarta-tomcat-5.0.28jdk-1_5_0-windows-i586電子書J2EEJava黑客大曝光:開發(fā)安全的Java應(yīng)用程序J2EE專業(yè)項目實例開發(fā)JavaApplet實例講解java線程入門JSP程序設(shè)計精彩實例JSP動態(tài)網(wǎng)站技術(shù)入門與提高JSP技術(shù)大全JSP實用編程實例集錦JSP數(shù)據(jù)庫編程指南jsp應(yīng)用程序開發(fā)指南jsp由淺入深SpringFramework開發(fā)參考手冊ThinkingInJava4th深入JSP網(wǎng)絡(luò)編程用jsp_servlet構(gòu)建三層式管理信息系統(tǒng)張孝祥javaweb高級PPT最新JSP入門與應(yīng)用Hibernate3.2官方中文參考手冊JSP數(shù)據(jù)庫編程指南Struts快速學(xué)習指南精通struts.基于MVC的.java.web設(shè)計與開發(fā)精通Hibernate:Java對象持久化技術(shù)詳解