#PHP-MYSQL-数据请求类型

SQL语句由于在黑盒中是无法预知写法的,SQL注入能发成功是需要拼接原SQL语句,大部分黑盒能做的就是分析后各种尝试去判断,所以有可能有注入但可能出现无法注入成功的情况。究其原因大部分都是原SQL语句的未知性导致的拼接失败!

由于开发者对于数据类型和SQL语句写法(框架写法)导致SQL注入拼接失败

1、数字型(无符号干扰)

select * from news where id=$id;

2、字符型(有符号干扰)

select * from news where id='$id';

' union select 1,2,3,database(),5,6--+

--+ 是 SQL 注入中的一种常见语法,用来注释掉后续的 SQL 语句。具体来说:

  • -- 是 SQL 中的注释符号,表示从 -- 开始到行尾的内容都会被认为是注释,而不会被执行。
  • + 是用来替换空格的 URL 编码,它在许多 Web 应用中用于传递参数。

3、搜索型(有多符号干扰)

select * from news where id like '%$id%'

4、框架型(有各种符号干扰)

select * from news where id=('$id');

') union select 1,2,3,4,5,6--+

select * from news where (id='$id');

select * from news where (id='$id') limit 0,1;

select * from news where (id='$id') order by id;

#PHP-MYSQL-数据请求方法

全局变量方法:GET POST SERVER FILES HTTP头等

REQUEST接受所有请求

cookie只接受cookie

User-Agent:

使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)

Cookie:

网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP]).

Rerferer:浏览器向 WEB 服务器表明自己是从哪个页面链接过来的.

Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号

如功能点:增删改查

1、用户登录时

2、登录判断IP时

是PHP特性中的$_SERVER['HTTP_X_FORWARDED_FOR'];接受IP的绕过(可以伪造)

数据库存储IP导致的注入

实现:代码配置固定IP去判断-策略绕过

实现:数据库白名单IP去判断-select注入

if($ip=='127.0.0.1'){
echo "<script>alert('可以登录')</script>";
}
else{
echo "<script>alert('拒绝访问')</script>";

union select 1,2,3,4

实现:防注入记录IP去保存数据库-insert注入

insert news ('title', 'content') value{'1','2'}

3、文件上传将文件名写入数据库-insert注入

#PHP-MYSQL-数据请求格式

1、数据采用统一格式传输,后端进行格式解析带入数据库(json)

{"username":"asdasd","password":"asd"}

2、数据采用加密编码传输,后端进行解密解码带入数据库(base64)

1' union select 1,2,3,4,5,6 '

1' union select 1,2,3,4,5,6 and '1'='1

1' union select 1,2,3,database(),version(),6 and ='1' = '1

33:04

第43天:WEB攻防-PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类的更多相关文章

  1. 【攻防实战】SQL注入演练!

    这篇文章目的是让初学者利用SQL注入技术来解决他们面临的问题, 成功的使用它们,并在这种攻击中保护自己. 1.0 介绍 当一台机器只打开了80端口, 你最依赖的漏洞扫描器也不能返回任何有用的内容, 并 ...

  2. php web开发安全之sql注入和防范:(一)简单的select语句注入和防范

    sql注入主要是指通过在get.post请求参数中构造sql语句,以修改程序运行时所执行的sql语句,从而实现获取.修改信息甚至是删除数据的目的,sql被注入的原因主要是代码编写的有问题(有漏洞),只 ...

  3. Web安全学习笔记 SQL注入下

    Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...

  4. Web安全学习笔记 SQL注入上

    Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...

  5. Web安全学习笔记 SQL注入中

    Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...

  6. Web登录敲门砖之sql注入

    声明:文本原创,转载请说明出处,若因本文而产生任何违法违纪行为将与本人无关.在百度.博客园.oschina.github .SegmentFault.上面都关于sql注入的文章和工具.看过很多sql注 ...

  7. Web常见安全漏洞-SQL注入

    SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞. 可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作, 甚至有可 ...

  8. Web安全篇之SQL注入攻击

    在网上找了一篇关于sql注入的解释文章,还有很多技术,走马观花吧 文章来源:http://www.2cto.com/article/201310/250877.html ps:直接copy,格式有点问 ...

  9. web开发中防止SQL注入

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  10. web攻击之三:SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

随机推荐

  1. SUM-ACM天梯赛

    第一次天梯赛: B-B:孵化小鸡 题解:二进制枚举所有可能性,一个一个枚举出来,@离散数学,真值表. 题目如下: 二进制枚举代码如下 点击查看代码 #include <bits/stdc++.h ...

  2. Fiddler+proxifier解决抓取不到客户端接口的问题

    工作中偶尔会遇到Fiddler抓不到客户端接口问题,那么就要借助第三方工具proxifier来实现了: 下载地址: 原地址:链接: https://pan.baidu.com/s/1JPJ4cILEs ...

  3. 初学者使用1Panel面板快速搭建WordPress网站

    之前介绍了宝塔面板以及如何搭建wordpress网站,这篇文章我们来学习如何使用1Panel面板搭建wordpress网站. 一.1Panel面板介绍 1. 介绍 1Panel 是一个现代化.开源的基 ...

  4. Linux网络问题排查

    Linux网络问题排查 用于排查Linux系统的网络故障. 网络排查一般是有一定的思路和顺序的,其实排查的思路就是根据具体的问题逐段排除故障可能发生的地方,最终确定问题. 所以首先要问一问,网络问题是 ...

  5. 【JavaScript】精度损失问题

    参卡博客: https://blog.csdn.net/azl397985856/article/details/99148969/

  6. 【Java】JDBC Part6 Apache-DBUtil & Spring-JdbcTemplate

    Apache-DBUtils 开源的JDBC工具类,对JDBC的简单封装 SQL操作交给了QueryRunner的实例 Maven依赖 <!-- https://mvnrepository.co ...

  7. 【ActiveJdbc】03

    一.查询API 简单条件筛选: List<Person> list = Person.where("name = 'John'") 动态参数条件: List<Pe ...

  8. 【Java】POI Excel导出 动态行合并

    一般情况: Excel导出一般都是一行一行的记录输出 . 这是Controller代码: 标题行的设置: 标题行会设置获取的结果集的字段名,数据会自动根据设置的名称匹配装填 特殊的需求: 如页面的效果 ...

  9. 新手入门深度学习:在不使用Google的情况下如何在国内获得免费的算力 —— 算力共享,驱动人工智能创新的新引擎

    分享链接地址: 算力获新生 | 算力共享,驱动人工智能创新的新引擎

  10. nginx实战教程

    大纲 为了让大家更快的学会,该博客中的内容录制成了视频课程:马上在线学习 1.什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 由 ...