当前位置:首页 > 黑客业务 > 正文内容

Java安全编码之用户输入

访客3年前 (2021-04-15)黑客业务742

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]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/106129.html

分享给朋友:

“Java安全编码之用户输入” 的相关文章

华流芒种是几月几号农历

芒种是二十四节气之一,大家对于二十四节气也已经非常熟悉了,但是芒种是哪一天还不是很清楚,今年的芒种是阳历6月5日,那么2020年芒种是农历几月几号呢?接下来我们就一起了解一下吧。     2020年芒种是农历几月几号...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

蚯蚓的市场价格 - 2020年蚯蚓收购价格

今年2020年这个价格还算是比较合理,市场价格较为平稳,当地蚯蚓批发价250元/万条,今日浙江海宁地区鲜蚯蚓批发价为17,最高可卖3元/两,每次都-是老家亳州的来回辗转的跑辛苦.货源充足,现在贩子登门收购18-222020元/斤不等。 目前价格多少钱一斤目前价格在8元一斤,是一种营养价值很高的无脊椎...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

马来西亚dhl国际快递查询,国际快递订单号查询官网

物流集团Deutsche Post 国际DHL旗下公司,马来西亚,大概22号左右抵达当地关口。作业程序HONG查询 KONG-HONG KONG目的地马来西亚,至于查询的话,很方便的。也可以打电话咨询,然后点击查询就会有快递信息!通过快递官网查询物流的。一直查询不到相关信息!打开DHL官网,感激不尽...

书黑客,黑客软件破解吃鸡,网站黑客攻击工具

关于较新版别的Windbg,官网已不再支撑独自下载,只能经过Windows SDK里边勾选来装置,不过装置之后Redist目录会有x64/x86/arm的装置包,也可独立装置。 此次评选活动的意图在于,在安全社区中宣扬这些技能,让职业进步对安全的注重,一起也能让这些技能能遭到认可和铭记。 因而,根据...

评论列表

丑味喜余
2年前 (2022-07-08)

修正Cookie√ 修正HTTP信息头√ 恳求次序->越过或许打乱3、Web使用防护(1)完善的反常处理(2)监控(3)日志:记载重要事务、反常的具体恳求信

野欢怙棘
2年前 (2022-07-08)

1.getConnection()办法,衔接MySQL数据库!!            con = DriverManager.getConnection(url,user,

夙世辞取
2年前 (2022-07-08)

ng("name");                //获取stuid这列数据                age = rs.getString("age");                //输出成果                System.out.println(name + "t"

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。