当前位置:网站首页>About information disclosure and defense
About information disclosure and defense
2022-06-23 05:25:00 【Johnny, me】
Information disclosure
- Strictly speaking, information disclosure is not a security vulnerability , It is the general name of a kind of phenomenon
- Whether it's web Both developers and users should pay attention to information disclosure
- Specific information breaches include
- Disclose sensitive information of the system ( Server configuration , Password etc. )
- Divulge user sensitive information ( The user registers at a station , Information is sold or stolen )
- Divulging user passwords ( Obvious security vulnerabilities )
- Ways of information disclosure
- Error message out of control ( Error messages are exposed because they are not handled well )
- SQL Inject ( The website exposes a lot of database information under unexpected circumstances )
- Improper horizontal authority control ( What users can see , Whether users with the same rights have overstepped their authority )
- XSS/CSRF( Direct disclosure of information )
- …
- Information leakage will lead to the rise of social engineering
social engineering
- Social engineering is a rigorous science
- But in the increasingly complex security environment, social engineering tends to social engineering fraud
- for instance , It will dig out your information through some channels
- nickname
- real name
- mailbox
- cell-phone number
- ID number
- password
- …
- This information , More and more can be done after a variety of combinations and information mining
- For example, get your Alipay password through the above information , Because it may need a cell phone number , ID number and mobile phone number
- When there is more and more information , The image of this person can be established in a three-dimensional way
- At this time, the secret protection is invalid , You can pretend to be yourself
- This is a very terrible thing
- Your identity is determined by the information you have
- Others have your information , Can pretend to be your identity
- Then you can use your identity to do bad things
- So information leakage can cause serious consequences
- web Development must try its best to ensure that the user's data is not leaked
Common cases of information leakage
- telecommunication fraud
- Camouflage public security law
- QQ Video borrowing
- Wechat disguises friends
OAuth thought
- These hazards and cases startle us
- We can learn from some mature schemes in the industry :OAuth
- OAuth Participants involving three parties
- QQ: Master the user information, password and other information
- Broken website : There are safety risks
- user
- OAuth Under the authorization of the user , from QQ Where to get information
- This can be very good defense QQ Data leakage
- The specific process is as follows
- The user requests a third party to log in on the broken website
- The broken website redirects to QQ
- The user is in QQ Enter the password on the website to confirm the right to log in
- After successful login , from QQ The website jumps back to the broken website
- Broken websites will request accessToken( User credentials )
- QQ return accessToken
- Broken website through accessToken towards QQ Get user information
- Among them the accessToken You can only obtain the user data when the user is authorized and cannot obtain other user information
- The key idea is
- All actions are authorized by the user
- Authorization does not disclose sensitive information
- Authorization will expire
- We can also use this idea to prevent the leakage of user information when developing our website
utilize OAuth Protect user data
- There are also three party objects
- Sensitive information : Identity information, etc
- Business : Publish articles and other functions
- user
- After this split , Our website will be like this
- The user logs in to the sensitive data party through the account and password
- Login successful , Sensitive information is distributed to users token
- At this time, the user brings the ticket token Request business
- User data is involved in business processing , For example, send email notification, etc
- The bill brought by the user is used for business operation
- Exchange sensitive data for user information through bills
- Business continues
- The characteristics of this process
- The user is authorized to read the data
- Unauthorized data cannot be read
- Batch data acquisition is not allowed
- The data interface can be used for risk control audit
- Do you know whose business it is
- What did you check
- When did you query it
- Through this process, users can effectively prevent unlimited leakage
- At this time, the data of a single user may be leaked
- Through the audit process, the problem of batch data leakage is effectively prevented
- The architecture will be a little complicated , Mainly to build sensitive data objects
- We can change the sensitive information into another nice name : User center
- If such a user center layer is built , You can avoid sql Attacks brought by injection
- because sql Not in the business , Just call the interface to the user center to retrieve user data , No, sql Unable to inject
- Even if it is injected from other businesses , The information is no longer here , Unable to obtain user sensitive data
- If some dishonest employees in the enterprise want to sell user data , You can't query user data without a ticket
- Sensitive information ( User center ) Only oneortwo employees to maintain , Do not allow a wide range of employees to access , Relatively safer
边栏推荐
- LeetCode-1757. 可回收且低脂的产品_SQL
- 架构师之路,从「存储选型」起步
- MySQL自定义序列数的实现
- Hcip reissue experiment
- Swiftui 2.0 course notes Chapter 4
- [microservices | Nacos] list of issues related to the Nacos version
- 弱者易怒如虎,强者平静如水,真正厉害的人早已戒掉了情绪
- The propeller framework v2.3 releases the highly reusable operator library Phi! Restructure development paradigm to reduce cost and increase efficiency
- 第九章 APP项目测试(1)
- 左侧固定,右侧自适应 三种实现办法(Flex,float + BFC ,float-margin-left)
猜你喜欢

Introduction to MySQL (I) grammar

云原生架构(04)-CNCF

Rtklib new version 2.4.3 B34 test comparison

网上有真实的兼职吗?大学生怎么找暑期兼职?

MCS:连续随机变量——LogNormal分布

ES6的Array.from方法创建长度为N的undefined数组

软件项目管理 8.4.软件项目质量计划

JDBC introductory learning (II) encapsulation tool class

Three implementation methods: left fixed and right adaptive (Flex, float + BFC, float margin left)

大環境不好難找工作?三面阿裏,幸好做足了准備,已拿offer
随机推荐
Mysql入门学习(一)之语法
MCS: continuous random variable chi square distribution
BGP second test
Chapter IX app project test (1)
Introduction and use of precise ephemeris
Zygote进程
A bug in rtklib2.4.3 B34 single point positioning
MySQL自定义序列数的实现
99 multiplication table bat
STM32cube CMSIS_V2 freeRTOS Queue 队列使用
Web application security testing guide
今日睡眠质量记录80分
C language stack implementation
账号多开是什么意思?为什么要账号多开?如何安全实现?
Complete one-time GC process of JVM principle
JDBC introductory learning (II) encapsulation tool class
CF【1700D】D. River Locks(dp、二分、数学)
GO语言-包的使用
MMDeploy快速安装及使用说明
BGP experiment