Java安全编码之用户输入

访客5年前黑客文章594

1、传统Web使用与新式移动使用
(1)传统Web使用:浏览器 HTTP 服务器(2)新式移动使用:APP HTTP 服务器
从安全视点看,传统Web使用与新式移动使用没有本质区别
2、Web使用安全的中心问题是什么?
用户提交的数据不可信是Web使用程序中心安全问题
用户能够提交恣意输入
例如:
√ 恳求参数->屡次提交或许不提交√ 修正Cookie√ 修正HTTP信息头√ 恳求次序->越过或许打乱
3、Web使用防护
(1)完善的反常处理(2)监控(3)日志:记载重要事务、反常的具体恳求信息
4、对输入的处理
主张选用:白名单尽量防止:净化或黑名单
0x01 SQL注入
1、原理:
(1)合法输入:
id=1
SELECT * FROM users WHRER id='1';
(2)歹意注入:
id=1' or '1'='1
SELECT * FROM users WHRER id='1' or 'a'='a';
2、Java代码剖析(JDBC)
(1)不合规代码(SQL参数拼接)
public class SQLInject {
    public static void main(String[] args)throws Exception{
        //正常输入
        select("1");
        // 歹意输入
        select("' or 'a'='a");
    }
    public static void  select(String id){
        //声明Connection目标
        Connection con;
        //驱动程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要拜访的数据库名mydata
        String url = "jdbc:mysql://localhost:3306/mybatis";
        //MySQL装备时的用户名
        String user = "root";
        //MySQL装备时的暗码
        String password = "budi";
        //遍历查询成果集
        try {
            //加载驱动程序
            Class.forName(driver);
            //1.getConnection()办法,衔接MySQL数据库!!
            con = DriverManager.getConnection(url,user,password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            //2.创立statement类目标,用来履行SQL句子!!
            Statement statement = con.createStatement();
            //要履行的SQL句子
            String sql = "select * from users where id='"+id+"'";
            //3.ResultSet类,用来寄存获取的成果集!!
            ResultSet rs = statement.executeQuery(sql);
            System.out.println("-----------------");
            System.out.println("履行成果如下所示:"); 
            System.out.println("-----------------");
            String age,name;
            while(rs.next()){
                //获取stuname这列数据
                name = rs.getString("name");
                //获取stuid这列数据
                age = rs.getString("age");
                //输出成果
                System.out.println(name + "t" + age);
            }

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]  黑客接单网

相关文章

看我怎么免费获取价值

大约两个月前,因为我需求发送一个15G的文件,我的一个朋友借给我了他的WeTransfer账户运用,我留心了一下,他的这种WeTransfer PLUS会员每年的注册费是120欧元。出于挖洞者的猎奇...

黑客接单网,找黑客改成绩成功了,怎么在百度贴吧找黑客

bash中会呈现已经对接的机器设备:拜会如下图在本实例教程中,我们作出了一些实例查看,搜索的是数据库查询中表和列的头衔。 为了更好地便捷过虑数据文件,他开了 wiresharkmsf exploit...

如何逃逸Sysmon工具对DNS的监控-黑客接单平台

Sysmon是微软的一款轻量级的体系监控东西,最开端是由Sysinternals开发的,后来Sysinternals被微软收买,现在归于Sysinternals系列东西。它通过体系服务和驱动程序完成记...

剪贴板鬼魂瞄准虚拟钱银,出师不利1个月亏本4000万?

一、木马概述 360安全中心近期监控到一类虚拟钱银类木马十分活泼,该木马不断监控用户的剪贴板内容,判别是否为比特币、以太坊等虚拟钱银地址,然后在用户买卖的时分将方针地址修改成自己的地址,悄然施行偷盗,...

Web版勒索软件CTB-Locker PHP源码现身GitHub

勒索软件CTB-Locker呈现其Web演化版别,可感染网页站点。据剖析,其编码为选用PHP编写,现在源码已被保管至GitHub上。 Web版勒索软件CTB-Locker的初次呈现 就在本年西方情人节...

鬼话蜜罐日志剖析

在布置蜜罐之后,会发作很多的日志,关于要挟情报而言,咱们需求经过这些日志来提取其间的有用的数据,本文将会描述提取那些数据用来完结剖析。 布置蜜罐之后会生成描述发作的事情的日志记载。能够收集到的安全事情...