**

SQL注入 1-3_基于post报错注入

**
一.概念
客户端提交参数基于post
1.基于post注入不会拼接到url
2.相对get提交参数更加安全
3.但是依然可以使用代理(中间人)截断判断是否存在sql注入


二.基于post报错的实列

1.打开登陆页面

按照常规的符号手段,观察以下三张图,并没有报错

当然也可以使用 id=1 and 1=2 和 id=1’ and ‘1’ = 1’一样没有反应

由此判断我们应该使用代理,因为他是基于post,无法拼接到url



打开代理截断,和burpsuite

提交任意登陆参数

可以看到我们发送的所有的信息

点击action 然后发生到repeater
repeater的作用:可以修改发送的参数,达到注入目的

可以看到已经发送过去了

我们使用反斜杠测试

向右看,可以看到服务器报错
则我们可以推测他应该是基于报错 的post注入

我们可以大致的推测出sql语句

在存在注入的的位置,使用万能密码
如果没有严格过滤提交的参数
则可以绕过登陆

可以看到我们已经登录了后台
并且爆出了用户的密码和账户

我们再来看看源码
确实和我们的猜测一样,没有过滤机制
并且是 使用 ‘’ 包含参数

好,我们接着看下一个,直接看看源码
可以看到,程序员是使用了双引号和括号包含了参数

同样的方法代理截断,并且输入反斜杠,让他报错,当然也可以使用其他,符号手段

往右边可以看到,又报错了

我们又大致猜出了他的sql语句

在-- 空格 前面输入万能密码,同样成功登陆并且获得密码

当然在前面也可以输入其他sql语句

和get手工注入一样的

三.使用sqlmap探测
首先登陆,
然后代理截断

将截断的内容复制保存到root/下,保存名为passwd.tet

-r 使用刚刚截断的文件
-p 指定注入位置
并且指定探测技术
和指定当前使用的数据库

可以看到成功的到当前数据库名,
当然也可以其他详细的注入

总结
1.当发现是post提交参数时,使用代理截断手段
2.判断大致sql语句,分析出sql语句,并且知道是字符型注入还是整型
3.接下来使用万能密码,也可以拼接sql语句,和get的报错一样的写法
4.如果判断出类型,可以直接使用sqlmap探测,不用那么麻烦
5.能够注入的关键原因还是,参数过滤不完善,程序员应该使用多重过滤 比如,先正则,在使用多个过滤函数

SQL注入 1-3_基于post报错注入相关推荐

  1. SQL注入之联合查询、报错注入和sqlmap

    文章目录 SQL注入的方法 方法一:联合查询 方法二:报错注入 extractvalue() 函数 updatexml()函数 方法三:Sqlmap SQL注入即是指web应用程序对用户输入数据的合法 ...

  2. mysql 堆叠查询_SQL 注入方法 - 盲注、报错注入、UNION查询注入与堆叠注入

    盲注 关键点是 根据页面返回内容分析 Payload 中的问题是否为真,然后通过多次测试遍历出想要的数据 布尔盲注 目标地址:http://newspaper.com/items.php?id=2 对 ...

  3. SQL注入-报错注入

    目录 一.报错注入的定义 二.利用报错注入的前提 三.报错注入的优缺点 四.构造报错注入的基本步骤 五.常见的报错注入函数 六.报错注入演示(只演示前三个) 1.利用floor()函数进行报错注入 ( ...

  4. mysql查找语句报错_MYSQL报错注入-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....

    目录 审计思路报错语句报错函数查询表floor报错函数讲解报错原理语句xpath语法报错函数讲解语句整数溢出报错exppowcot列名重复报错name_constjoin using几何函数报错不存在 ...

  5. mysql报错注入原理,MySQL报错注入

    什么是报错注入 SQL报错注入就是利用数据库的某些机制,人为地制造错误条件,使得查询结果可以出现在错误信息中.我一位好友的博客写过一个SQL注入的专栏,除了报错注入以外,别的类型也写了,而且比较详细, ...

  6. 闪退没由报错_关于floor()报错注入,你真的懂了吗?

    0x01 简述 floor报错注入也有叫group报错注入的,都一样,指的都是他们.floor报错注入我想大多数人跟我一样,都是会用而不明白其中的原理.这个问题困扰了在下好长时间了,所以决定好好研究下 ...

  7. mysql 报错注入输出多个字段_SQL注入浅析

    原标题:SQL注入浅析 SQL注入就是指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操 ...

  8. 12-Web安全—基于SQL Server的报错注入——and,conver,cast

    我们知道SQL Server是由微软开发,很优秀的数据库,可以精确地定位错误消息,这点对开发人员非常友好,特别是对于web安全工作者来说,利用SQL Server报错的信息对目标系统有效进行渗透测试. ...

  9. SQL注入——报错注入

    0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利 ...

最新文章

  1. 详解下一代神经网络-无监督对比学习框架SimCLR
  2. 深入理解内存(3):内存交换技术,虚拟内存
  3. 为什么百度网盘显示2055G下载时却显示容量不足
  4. ODPS主备集群双向数据复制导致主备中心网络打爆问题
  5. 基类使用私有数据_C++作业之多继承与虚基类
  6. jquery实现多级下拉菜单
  7. leetcode(34)在排序数组中查找元素的第一个和最后一个位置
  8. 格式化字符串漏洞利用 四、利用的变体
  9. 敏捷开发中史诗故事与用户故事的颗粒度
  10. 独家深访陈光明:对内经营人才,对外经营信任
  11. 软考中级数据库系统工程师备考详细资料
  12. uploadify上传插件完整Demo(包括后台)
  13. python现在用哪个版本好_python哪个版本好用
  14. CC2500模块移植说明
  15. 2020微博热点数据简析
  16. Oracle汉字排序nls_sort
  17. 微pe工具箱 系统安装教程_通用PE工具箱装系统(V4.0)——安装原版WIN7系统
  18. 疫情期间的中老年众生相:刷抖音/云买菜/直播购物,加速“触网”
  19. matlab 0x000007b,windows应用程序无法正常启动(0x000007b)怎么办_windows应用程序无法正常启动(0x000007b)解决办法_飞翔教程...
  20. 微型计算机中的rom跟ram关系,STC单片机内部扩展RAM的应用

热门文章

  1. ST_Geometry操作报ora-01704字符串文字太长
  2. 【AWR】调整AWR数据采样时间间隔及历史快照保留时间
  3. 在linux下安装db2全过程
  4. 寒假集训【1.26】
  5. Vue.js:监听属性
  6. 04-String——课后作业1:字串加密
  7. 此地址使用了一个通常用于网络浏览以外的端口。出于安全原因,Firefox 取消了该请求。...
  8. 利用proc 实现内核和用户态交换数据
  9. tomcat服务器文件被清空,SpringBoot内置Tomcat缓存文件目录被意外删除导致异常
  10. 使用C语言将一个数组首尾互换后输出,函数实现体会地址传递