چکیده
I. مقدمه
II. هدف
III. ایده پیشنهادی
IV. کارهای مرتبط
V. سطوح احراز هویت کاربر و ایمن سازی داده های کاربر
VI. معماری
VII. روش های ایمن سازی برنامه وب
VIII. پیاده سازی
IX نتایج
X. تازگی
XI. نتیجه گیری
Abstract
I. Introduction
II. Objective
III. Proposed Idea
IV. Related Works
V. Levels of User Authentication and Securing User Data
VI. Architecture
VII. Methods to Secure the Web Application
VIII. Implementation
IX. Results
X. Novelty
XI. Conclusion
چکیده
امنیت وب سایت یک نگرانی اصلی برای سازمان های بزرگ و همچنین توسعه دهندگان فردی است، هرچه فناوری استفاده شده نادرتر باشد، ایجاد روش های امن برای توسعه یک وب سایت دشوارتر می شود. آسیبپذیریهایی که در طول توسعه برطرف نمیشوند و به همین ترتیب مستقر میشوند، به اهداف آسانی برای هکرها تبدیل میشوند. این می تواند باعث شود شرکت یا فرد پول زیادی از دست بدهد. این فقط توسعه دهندگان نیستند که تحت تأثیر قرار می گیرند، کاربران نهایی که در وب سایت های آسیب پذیر قرار می گیرند ممکن است در معرض حمله XSS قرار بگیرند که می تواند سیستم آنها را به خطر بیندازد یا پیکربندی ناامن سیستم پایگاه داده می تواند منجر به نشت اطلاعات بالقوه و در نتیجه رمز عبور هر ثبت شده شود. کاربر در وب سایت به خطر افتاده است، کاربرانی که از رمز عبور یکسان در چندین وب سایت استفاده می کنند بیشترین تأثیر را خواهند داشت. انگیزه این مقاله از این واقعیت ناشی می شود که تعداد زیادی آسیب پذیری در هر برنامه در حال توسعه وجود دارد و هر توسعه دهنده اعم از با تجربه یا بدون نیاز به نقطه شروعی برای اصلاح این آسیب پذیری هایی است که ممکن است در برنامه خود رخ داده باشد، این تحقیق بیشترین موارد را ارائه می دهد. آسیب پذیری های رایجی که باید در هر برنامه ای مورد توجه قرار گیرد و بنابراین نقطه شروع بسیار مورد نیاز توسعه دهندگان را فراهم می کند. هدف این مقاله طراحی و توسعه یک برنامه وب ایمن با توجه به دستورالعمل های پروژه امنیت برنامه وب باز (OWASP) است. این مقاله کاهش آسیبپذیری در برنامه وب را با استفاده از تغییرات پیکربندی، کدگذاری و اعمال وصلهها برجسته میکند. آسیبپذیریهای تزریق SQL، احراز هویت شکسته، قرار گرفتن در معرض دادههای حساس، کنترل دسترسی شکسته، و موجودیتهای خارجی XML مورد بحث در این مقاله در زیر ۱۰ آسیبپذیری برتر OWASP فهرست شدهاند. امنیت برنامه تحت وب تست شده و ثابت شده است که مکانیزم دفاعی برای آسیب پذیری های ذکر شده پیاده سازی شده است.
توجه! این متن ترجمه ماشینی بوده و توسط مترجمین ای ترجمه، ترجمه نشده است.
Abstract
Website security is a major concern for large organizations as well as individual developers, the rarer the technology used the harder it becomes to come up with secure practices for developing a website. Vulnerabilities that are not fixed during development, and are deployed as such become easy targets for hackers. This could cause the company or the individual to lose a lot of money. It is not just the developers who are affected, end users who end up on vulnerable websites may get exposed to XSS attack which could compromise their system or an unsecured configuration of database system could lead to a potential data leak and hence the password of every registered user on the website is compromised, users who use the same password on multiple websites are affected the most The motivation for this paper comes from the fact that there is an overwhelming number of vulnerabilities in any application under development and every developer, experienced or not needs a starting point to patch these vulnerabilities that might have occurred in their application, this research provides the most common vulnerabilities which should be taken care of in any application and thus provide the much-needed starting point for developers. The objective of this paper is to design and develop a secure web application according to Open Web Application Security Project (OWASP) guidelines.
Introduction
A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface. A web application generally consists of three main parts –
Front – End,
Back – End and
Database.
For this paper, the front-end has been made using HTML with ejs, for back-end NodeJS has been used and for the database MySQL has been used.The front end is used to display the main content of the webpage, it is usually the only thing that the client sees once the site is visited. If the website is static then only the front end is required.HTML is used to form the layout of the whole page, CSS is used to give styling to the page, and JavaScript is used to give logic to the page. Websites having only the frontend are prone to Cross-Site Scripting (XSS) injection attacks.
RESULTS
A. SQL – NodeJS is a relatively new backend language therefore automated vulnerability scanners don’t work well with most of the NodeJS applications. Manual testing of vulnerabilities is one of the ways to validate the security of the application.
1'or'1'='1, is a standard SQL injection statement. The SQL query to retrieve a user based on username and password is Select * from user_table where username = ‘username’ and password = ‘password’ The underlined variables are replaced by the text user types, in the case of SQL injection, both username and password are: 1'or'1'='1. Therefore, the statement now becomes,Select * from user_table where username = ‘1'or'1'='1’ and password = ‘1'or'1'='1’ ‘1’ = ‘1’ is always true and hence the whole query valid. Therefore, all the details present in the database are listed.