mysql注入的经典介绍

mysql注入的经典介绍

ID:15431732

大小:56.00 KB

页数:6页

时间:2018-08-03

mysql注入的经典介绍_第1页
mysql注入的经典介绍_第2页
mysql注入的经典介绍_第3页
mysql注入的经典介绍_第4页
mysql注入的经典介绍_第5页
资源描述:

《mysql注入的经典介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MYSQL注入的经典介绍1.MYSQL注射的产生.漏洞产生原因:程序执行中未对敏感字符进行过滤,使得攻击者传入恶意字符串与结构化数据查询语句合并,并且执行恶意代码.咱们先创造一个没有过滤的程序.因为我机器上没有PHP,所以我就是用JAVA了,我会详细注释.代码数据库:createdatabaseifnotexists`test`;USE`test`;/*数据表`account`的表结构*/DROPTABLEIFEXISTS`account`;CREATETABLE`account`(`accountI

2、d`bigint(20)NOTNULLauto_increment,`accountName`varchar(32)defaultNULL,`accountPass`varchar(32)defaultNULL,PRIMARYKEY(`accountId`))ENGINE=InnoDBDEFAULTCHARSET=latin1;/*数据表`account`的数据*/insertinto`account`values(1,'account1','account1');/*数据表`admin`的表结构*/

3、DROPTABLEIFEXISTS`admin`;CREATETABLE`admin`(`adminId`bigint(20)NOTNULLauto_increment,`adminName`varchar(32)defaultNULL,`adminPass`varchar(32)defaultNULL,PRIMARYKEY(`adminId`))ENGINE=InnoDBDEFAULTCHARSET=latin1;/*数据表`admin`的数据*/insertinto`admin`values(1,

4、'admin','admin');:程序:<%@pagelanguage="java"import="java.util.*,java.sql.*"pageEncoding="utf-8"%><%//连接MYSQL的字符串.//jdbc:mysql://localhost:3306/test//驱动:数据库://地址:端口/数据库名称StringmysqlConne

5、ction="jdbc:mysql://localhost:3306/test";//加载驱动com.mysql.jdbc.Driver是JAVA与MYSQL连接用的JDBC驱动Class.forName("com.mysql.jdbc.Driver").newInstance();//建立MYSQL链接root是用户名cx0321是密码Connectionconnection=DriverManager.getConnection(mysqlConnection,"root","cx0321");/

6、/建立一个查询对象Statementstatment=connection.createStatement();//建立一个查询返回集合.就是说查询完以后返回的数据全部都在这个里面.ResultSetresultSet=null;//从account里面读取数据.resultSet=statment.executeQuery("select*fromaccountwhereaccountId='"+request.getParameter("id")+"'");//循环,直到resultSet结束wh

7、ile(resultSet.next()){//从resultSet读取出值输出到页面.out.print(resultSet.getInt(1)+"

8、");//取出第一列的值,因为是数字类型的所以是getInt();out.print(resultSet.getString(2)+"

9、");//取出第二列的值,因为是字符串类型的所以是getString();out.print(resultSet.getString(3)+"

10、");out.print("
");//页面输出换行}%>

11、dy>2.漏洞的利用(图1)这个就是数据库里的记录了.以后黄色为关键语句,红色为输入的部分.大家注意看resultSet=statment.executeQuery("select*fromaccountwhereaccountId='"+request.getParameter("id")+"'");这里的request.getParameter("id")是获取GET传参的id参数,也就是mysqlInject.jsp?id=1这里的i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。