sql注入 1-1_ 基于报错注入

1.判断是否存在报错注入

通过 id =1
可以看到服务器返回正常页面

通过 id=1 and 1=1
通过 id=1 and 1=2
服务器也返回正常

通过 id=1’ 提交
可以看到服务器报错
通过 ’ 1’’ limit0,1 ’
可以推测出sql语句中提交的参数为:select * from 某数据库 where id =‘id’

–加 空格(注释符) 闭合前面的单引号
服务器返回正常页面,说明url中带入sql语句
由此推断存在sql注入

2.漏洞利用
既然存在漏洞
我们就使用order by 来检查存在几个字段
切记用 --空格闭合前面的单引号否则会报错


通过对比发现输入字段3时正常,字段4报错,则可以确定存在3个字段。

使用联合查询
此时需要修改id的参数为任意字符或0,这样就可以判断出存在注入的点在1还是2还是3
以下是修改前

修改后
可以看到报出存在注入的位置

此时则可以在相应的位置输入相应的sql语句,如图得到了数据的名称,和数据库的版本

其他详细的注入,可以参考此表

3.基于报错的 sqlmap 注入
基于报错的sqlmap注入很简单,直接提交url再输入相应的参数及可以得到铭感数据

4.总结
1.判断是否存在sql报错注入,在url id=1参数后添加单引号,双引号,反斜杠,如果报错则有可能存在注入
2.通过报错分析出sql语句,更好的下一步渗透
3.总结,报错注入,一般是程序员没有给sql语句中的参数添加过滤机制,
造成代码中的报错语句出现信息泄露,并且可以直接拼接sql语句到url。

sql注入 1-1_基于报错的注入相关推荐

  1. sql注入进阶/user-agent/基于报错的注入/保姆级教程/一看就会/

    刚刚写了cisp安全工程与运营,写的我头昏脑胀,迷迷糊糊,接下来开始sql注入第五章节,也是最后一种注入类型"基于报错的盲注"与sqlmap,下一章就开始刷题,争取今天把sql注入 ...

  2. python脚本自动化盲注_三、基于报错型注入和sql盲注的自动化实现

    通过前面payload的构造,不难发现,对于报错型注入和布尔注入(sql盲注)纯手工注入的效率是非常慢的.这些payload语句虽然复杂,但大部分内容都是相同的,因此,一言不合就写了个脚本自动化注入, ...

  3. SQL注入——基于报错的注入(五)

    本章目的 普及报错功能函数extractvalue()的用法,演示基于报错的SQL注入基本流程. 实验环境 攻击机:Pentest-Atk (1)操作系统:Windows10 (2)安装的应用软件:S ...

  4. sqli-labs-基于报错的注入

    目录 updatexml()函数 extractvalue()函数 floor()函数 exp()函数 geometrycollection()函数 multipoint()函数 构造参数?id=1& ...

  5. 05_SQL注入_功能语句报错注入盲注

    05_SQL注入_功能语句&报错回显&盲注 1. SQL 语句和网站功能 1.1 Web开发中常见语句 [本章代码来源于pikachu和sqli-lab中的靶场] 开发中,根据不同的需 ...

  6. 【MyBatis动态SQL批量修改数据出现报错问题】

    MyBatis动态SQL批量修改数据出现报错问题 MyBatis动态SQL批量修改数据出现报错问题 问题描述 XML文件中的动态SQL 执行结果 测试执行 报错日志 解决 原数据库URL 修改后数据库 ...

  7. 墨者学院-SQL注入漏洞测试(报错盲注)

    继续攻克SQL注入类题目啦!!!今天的题目环境提示比较明显,也是比较常见的一种SQL注入漏洞类型,继续储备知识,撸起袖子加油干!!! 附上题目链接:https://www.mozhe.cn/bug/d ...

  8. SQL 2000自定义函数调用GETDATE()报错

    在SQL 2000数据库里的自定义函数中调用GETDATE()时,结果编译时报错,提示错误如下:Invalid use of 'getdate' within a function 我给个测试例子如下 ...

  9. ibatis resultclass java.util.list_mybatis 动态sql返回一个List封装类报错求解决方法

    报错信息: Exception in thread "main" org.apache.ibatis.reflection.ReflectionException: Error i ...

最新文章

  1. TBox Library
  2. linux c++ 函数 查看,在C++ man pages中查询C++的函数
  3. re.findall 两个连续匹配成功的输出后一个
  4. 破解简单的Android签名检查
  5. html元素一行显示不完收缩_这些常用的HTML标签,你还不知道吗?
  6. 国内MySQL技术现状_1024不搬砖,谈谈自己2020剩余两月的学习计划
  7. matlab创建数组对象,MATLAB一维数组(向量)的定义
  8. 443. 压缩字符串
  9. sap权限激活_sap角色权限设置手册V1.0
  10. 夫妻俩在互联网公司工作,年收入曝光,网友:这么高!
  11. U3D的有限状态机系统
  12. 动态切换数据源(spring+hibernate)
  13. 9:34 2009-7-28
  14. 已知文件url,批量下载文件
  15. 红外图像、灰度图像、深度图像对比
  16. Redhat开机丢失引导
  17. k8s——通过暴漏端口实现外部访问服务
  18. 关于计算机的英语论文1500字,计算机英语论文3000字
  19. 卖场型旗舰店好入驻吗?需要什么资料?
  20. VR和AR只是入门,真正的元宇宙远不止于此

热门文章

  1. ORA-39095: Dump file space has been exhausted: Unable to allocate 8192 bytes
  2. Oracle impdp的ignore及 fromuser / touser 功能
  3. .Net多线程文章收集
  4. 4G通信模块在ARM平台下的应用
  5. 【SpringBoot】服务器端主动推送SSE技术讲解
  6. DAY97 - Rest Framework(二)- 序列化组件之Serializer和ModelSerializer
  7. “进度条”博客——第四周
  8. android IntentService
  9. Popupwin结合Timer实现定时弹出消息提示
  10. ODP.NET 10.2.0.20发布了