5 lỗ hổng bảo mật phổ biến có thể phá hỏng dự án của bạn

Khi tạo ra một dự án như một trang web hay một ứng dụng web bạn phải tuân thủ một số quy tắc cơ bản để đảm bảo người dùng được bảo vệ. Để ngăn chặn một cuộc tấn công, bạn cần tập trung vào chất lượng code tạo ra trong giai đoạn lập trình, việc cấu hình hệ thống trong giai đoạn triển khai. Dưới đây chỉ là 5 lỗ hổng bảo mật phổ biến có thể tấn công ứng dụng của bạn.

1. Lỗ hổng SQL Injection

SQL Injection là một trong những lỗ hổng bảo mật phổ biến nhất, nó thường được sử dụng để khai thác lỗ hổng của trang web trên nền tảng PHP hoặc ASP. Các cuộc tấn công bao gồm việc tiêm mã độc vào những truy vấn SQL trong ứng dụng của bạn thông qua các giá trị đầu vào của ứng dụng. Nếu thành công sẽ cho phép kẻ tấn công thêm hoặc xóa nội dung cơ sở dữ liệu, lấy các giá trị trong CSDL như email, mật khẩu hoặc thông tin cá nhân người dùng trang web. SQL Injection có thể xảy ra nếu một trang web chấp nhận những truy vấn  không đáng tin cậy vào cơ sở dữ liệu hoặc tạo ra chúng một cách tự động.

Giả sử rằng các biến đăng nhập (bao gồm tên và mật khẩu) được đưa trực tiếp đến các câu truy vấn SQL thông qua phương thức POST. Một đoạn code sẽ chịu trách nhiệm xử lý việc đăng nhập của người dùng có thể dễ dàng bị tổn thương:

SQL Injection - 05 lỗ hổng bảo mật phổ biến

Nếu một người dùng trang web gửi tới máy chủ giá trị admin– trong mục tên người dùng, truy vấn SQL sẽ thực hiện như sau

2

Điều gì đã xảy ra? Kí tự — sẽ được hiểu bởi DBMS như một comment, kết quả dẫn đến việc hoàn thành thực thi thất bại một phần của truy vấn SQL, phần này vốn dùng để kiểm soát mật khẩu. Tin tặc sẽ khai thác nó để chiếm quyền quản trị dịch vụ.

Cách ngăn chặn kiểu tấn công SQL Injection: Cách bảo vệ hiểu quả nhất đối với kiểu tấn công này là lọc dữ liệu mà người dùng cung cấp bằng các hàm: mysql_real_escape_string(), pg_escape_string()… Dữ liệu số phải được chuyển đổi bởi settype() or sprintf(), sau đó kiểm tra với s_numeric(), ctype_digit() nhằm định dạng dữ liệu chính xác.

2. Stored XSS

XSS – Cross Site Scripting là một trong những lỗ hổng bảo mật phổ biến nhất. Khi tấn công, một script được viết bởi tin tặc sẽ được đưa vào cơ sở dữ liệu của hệ thống bị ảnh hưởng. Đối lập với kiểu tấn công SQL Injection, các mã độc không ảnh hưởng đến cơ sở dữ liệu mà chỉ ảnh hưởng tới người dùng của hệ thống. Ví dụ như phần bình luận của trang web. Tin tặc có thể khai thác tất cả người dùng mà người dùng không hề nghi ngờ trang web đã bị lây nhiễm các mã độc javscript có thể đánh cắp phiên đăng nhập của người dùng.

Ví dụ:

3

4

Cách ngăn chặn Stored XSS

Để ngăn chặn Stored XSS cần một bộ lọc thích hợp cho các dữ liệu đầu vào. Phương pháp tốt nhất là tạo ra một whitelist các kí tự được phép sử dụng trong các mục. Nếu trang web dễ bị tổn thương trước Stored XSS thì tùy chọn httpOnly cho cookie gửi đi có thể giúp bảo vệ tốt hơn người dùng khỏi việc mất phiên người dùng. Trong đa số trình duyệt hiện nay đã có thể ngăn chặn hành vi ăn cắp cookie bằng JavaScript từ người dùng.

3. Lỗ hổng trong việc sử dụng bảng mã Unicode

Sự phát triển của hệ thống kí tự ASCII mã hóa dựa trên các chữ cái tiếng Anh phổ biến toàn cầu. Theo thời gian, thế giới bắt đầu sử dụng các ngôn ngữ và hệ thống bảng chữ cái khác. Do 1 byte không thể dùng để lưu trữ kí tự trong tất cả các ngôn ngữ, một hệ thống mã hóa mới dành cho các ngôn ngữ đa dạng đã được ra mắt. Đó chính là chuẩn Unicode.

Trong hệ thống Unicode, mỗi kí tự được lưu trữ lớn hơn 1 byte. Bảng mã UTF-8 là bảng mã nền tảng Unicode được sử dụng rộng rãi nhất, cho phép tin tặc có thể chèm một vài kí tự ví dụ “../” theo các cách khác nhau. Bộ giải mã UTF-8 không kiểm tra tính hợp lệ của kí tự đặc biệt như “/” gây ra những exception (ngoại lệ) khi xử lý cho hệ thống. Ví dụ, để nói về các bảng mã, hãy cùng xem những đường link giống nhau được viết trong hệ thống bảng mã khác nhau:

5

Trong các hệ thống mã hóa khác nhau, kí tự sẽ được lưu trữ trong các vị trí khác nhau. Do đó, bộ lọc danh sách đen các kí tự đầu vào sẽ yêu cầu sử dụng tất cả các bộ kí tự. Cách phòng chống kiểu tấn công này là chuyển đổi tất cả dữ liệu thành một định dạng thống nhất. Sau đó chúng ta mới có thể kiểm thử chúng hợp lệ hay không và loại bỏ kí tự không mong muốn.

4. Lỗ hổng PHP Injection

Ngôn ngữ lập trình có chứa các hàm cho phép thực thi mã bên ngoài, như: require(), include(), eval(), and preg_replace cùng với  modifier /e sẽ xem nơi lưu trữ chuỗi kí tự như một PHP code. Ví dụ, giả sử trang web có một bộ điều khiển đơn giản dựa trên các tập tin là các biến gửi qua phương thức GET để đưa vào nội dung của một file có trước.

Php Injection - 05 lỗ hổng bảo mật phổ biến

Như chúng ta thấy tập tin được gọi thông qua bởi phương thức GET và được sử dụng thông qua hàm include(). Đó là một lỗi nguy hiểm có thể bị khai thác bởi tin tặc bằng nhiều cách khác nhau. Bất kì mã nào cũng có thể được thực thi. Ví dụ:

7

Đường dẫn đến mã độc được thông qua như một tham số của hàm. Kịch bản này sẽ được thực thi bởi các máy chủ của tin tặc.

Các ngăn chặn PHP Injection

Cấu hình máy chủ sẽ giúp ích bạn phòng tránh kiểu tấn công này. Các tùy chọn allow_url_fopen có thể chặn file truy cập từ bên ngoài máy chủ dành cho các hàm file_get_contents, fopen, include, và require. Các bảo vệ tốt nhất là không cho phép dữ liệu đầu vào từ người dùng vào các hàm thực thi script. Bộ lọc chuỗi kí tự đầu vào và tạo ra whitelist các file được phép là điều cần thiết. Ngoài ra còn nhiều kiểu tấn công tương tự cũng được các tin tặc khai thác như: Local File Include, Php Object Injection…

5. Account Lockout

Minh họa tốt nhất cho các cuộc tấn công này là câu chuyện về một người dùng trong một trang web đấu giá lớn nhất thế giới. Người này đưa ra giá rất cao cho một sản phẩm. 15 phút trước khi phiên đấu giá đóng cửa, một người dùng khác bước vào đấu giá. Trước khi đấu giá kết thúc, người dùng đầu tiên cố gắng chốt lại quyết định cuối cùng của mình, ông đã bị đăng xuất khỏi dịch vụ và nhận được thông báo tài khoản của ông bị khóa trong vòng 30 phút và không được đấu giá thêm.

Tại sao hệ thống lại xử lí như vậy?

Người dùng thứ hai đã có thể thấy được người dùng đầu tiên đăng nhập. Hắn thực hiện nhiều lần đăng nhập vào tài khoản người dùng thứ nhất với mật khẩu sai. Với mục đích ngăn chặn các cuộc tấn công brute-force , hệ thống sẽ khóa tài khoản người dùng sau khi vượt quá lần đăng nhập thất bại. Tin tặc sử dụng Account Lockout có thể khiến tài khoản người dùng không thể truy cập được nữa.

Cách ngăn chặn Account Lockout: Thay vì khóa tài khoản người dùng sau khi vượt quá số lần đăng nhập thất bại, bạn nên xem xét việc yêu cầu người dùng gõ mã Captcha sau mỗi lần đăng nhập tiếp theo. Điều này sẽ bảo vệ các trang web khỏi kiểu tấn công brute-force mà không từ chối truy cập người dùng. Một giải pháp khác là chặn địa chỉ IP trong một khoản thời gian nhất định. Nhưng vẫn có thể tin tặc và người dùng bị tấn công có chung địa chỉ IP. Nó vẫn sẽ khiến người dùng không thể truy cập vào tài khoản.

Phòng tránh: Sử dụng các dịch vụ Kiểm tra bảo mật do chuyên gia bảo mật thực hiện

Kiểm tra thủ công trang web của bạn với những lỗ hổng bảo mật là điều cần thiết. Để tiết kiệm thời gian bạn có thể sử dụng một số công cụ tìm kiếm lỗ hổng tự động. Chúng ra hãy cùng nói về 3 phương pháp kiểm tra bảo mật:

  • Black Box Penetration testing: Kiểm thử viên Black box chỉ thực hiện thông tin về các hàm trong một trang web và không cần biết cấu trung bên trong ứng dụng. Họ sẽ kiểm tra những dữ liệu đầu vào nào hợp lệ và kết quả đầu ra có chính xác hay không. Acunetix là một ví dụ về phầm mềm Black Box Testing.
  • White Box Testing: White Box Testing lại dựa theo quy tắc ngược lại. Kiểm thử viên sẽ toàn quyền truy cập vào mã nguồn, các lỗ hổng bảo mật sẽ được phát hiện thông qua việc kiểm tra code. RATS là một ví dụ phần mềm White Box Testing tự động.
  • Grey Box Testing: Đó là sự kết hợp cả 2 phương pháp nêu trên. Kĩ thuật này đòi hỏi chúng ta tiếp cận toàn bộ tài liệu tạo ra trong suốt quá trình phát triển ứng dụng nhưng không tiếp cận vào mã nguồn. Theo phương pháp này, chúng ta có thể điều chỉnh mức độ kiểm tra biến cụ thể trong Black Box Testing.

Tổng kết

Năm kiểu tấn công được lựa chọn không được đề cập đến chuyên sâu, chỉ là một vài kịch bản cơ bản được nêu ra. Chắc chắn còn có rất nhiều các cuộc tấn công đe dọa doanh nghiệp của bạn. Bất kể lập trình viên, quản lí dự án hay các công ty khởi nghiệp cần nhận thức được tầm quan trọng trong việc bảo vệ ứng dụng của mình. Không thực hiện các biện pháp bảo mật đầy đủ có thể khiến bạn bị mất uy tín với khách hàng ngay cả khi đó là dịch vụ tốt nhất.

securitydaily.net

Comments

  • bape hoodie
    Trả lời

    you could have an incredible blog right here! would you like to make some invite posts on my blog?
    bape hoodie [url=http://www.bape-hoodie.us.com]bape hoodie[/url]

  • adidas ultra boost
    Trả lời

    I and my buddies ended up analyzing the best solutions found on the blog and so instantly I got a terrible feeling I had not expressed respect to the website owner for those tips. My ladies are already as a result passionate to learn all of them and have in effect certainly been having fun with those things. I appreciate you for truly being considerably considerate and for going for variety of smart guides most people are really wanting to be aware of. My personal sincere apologies for not expressing gratitude to earlier.
    adidas ultra boost

  • golden goose sneakers
    Trả lời

    The subsequent time I learn a blog, I hope that it doesnt disappoint me as much as this one. I mean, I do know it was my choice to learn, however I really thought youd have something interesting to say. All I hear is a bunch of whining about one thing that you could repair if you happen to werent too busy searching for attention.
    golden goose sneakers

  • yeezy boost 350 v2
    Trả lời

    very good publish, i actually love this web site, carry on it
    yeezy boost 350 v2

  • cheap jordans
    Trả lời

    you’ve gotten an awesome weblog right here! would you prefer to make some invite posts on my blog?
    cheap jordans

  • james harden shoes
    Trả lời

    You must take part in a contest for one of the best blogs on the web. I’ll suggest this site!
    james harden shoes

  • Adidas NMD Men Women Mesh Surface Black Fishing Net
    Trả lời

    I’m writing to let you understand of the perfect encounter my friend’s daughter encountered using yuor web blog. She figured out a lot of pieces, which include how it is like to possess an awesome coaching spirit to let many others just comprehend various very confusing matters. You truly surpassed readers’ expectations. Thank you for giving those valuable, healthy, explanatory not to mention unique tips on the topic to Emily.
    Adidas NMD Men Women Mesh Surface Black Fishing Net

  • nike air huarache
    Trả lời

    I抦 impressed, I need to say. Actually hardly ever do I encounter a blog that抯 each educative and entertaining, and let me let you know, you will have hit the nail on the head. Your idea is outstanding; the difficulty is one thing that not sufficient individuals are talking intelligently about. I am very happy that I stumbled throughout this in my seek for one thing referring to this.
    nike air huarache

  • nike dunks
    Trả lời

    A powerful share, I simply given this onto a colleague who was doing a little evaluation on this. And he the truth is bought me breakfast because I found it for him.. smile. So let me reword that: Thnx for the deal with! However yeah Thnkx for spending the time to discuss this, I feel strongly about it and love studying more on this topic. If possible, as you become expertise, would you mind updating your weblog with more details? It is highly useful for me. Large thumb up for this blog submit!
    nike dunks

  • nike polo shirts
    Trả lời

    An fascinating dialogue is worth comment. I feel that you must write extra on this matter, it may not be a taboo subject however typically persons are not enough to speak on such topics. To the next. Cheers
    nike polo shirts

  • yeezy boost 350 v2
    Trả lời

    Hello! I simply wish to give an enormous thumbs up for the nice information you have got right here on this post. I will be coming again to your blog for more soon.
    yeezy boost 350 v2

  • off white nike
    Trả lời

    I was more than happy to search out this internet-site.I wished to thanks on your time for this excellent read!! I undoubtedly enjoying each little bit of it and I have you bookmarked to check out new stuff you blog post.
    off white nike

  • michael kors outlet online
    Trả lời

    You made some first rate points there. I seemed on the web for the problem and found most people will go together with together with your website.
    michael kors outlet online

  • adidas tubular shadow
    Trả lời

    Whats up! I just would like to give a huge thumbs up for the good data you’ve here on this post. I can be coming again to your blog for more soon.
    adidas tubular shadow

  • adidas ultra
    Trả lời

    I precisely desired to thank you very much yet again. I am not sure what I would have tried in the absence of the actual hints documented by you concerning this theme. It was actually the troublesome condition in my view, however , viewing this specialized manner you treated that took me to jump for gladness. I’m happy for the service as well as wish you recognize what an amazing job your are accomplishing training people by way of your blog. Most probably you haven’t got to know any of us.
    adidas ultra

  • jordan 11
    Trả lời

    Your house is valueble for me. Thanks!?
    jordan 11

  • balenciaga shoes
    Trả lời

    This is the fitting blog for anyone who desires to search out out about this topic. You realize a lot its virtually hard to argue with you (not that I really would need匟aHa). You undoubtedly put a brand new spin on a topic thats been written about for years. Great stuff, just great!
    balenciaga shoes

  • yeezy boost
    Trả lời

    After I initially commented I clicked the -Notify me when new comments are added- checkbox and now each time a remark is added I get 4 emails with the identical comment. Is there any way you’ll be able to remove me from that service? Thanks!
    yeezy boost

  • nike outlet
    Trả lời

    When I initially commented I clicked the -Notify me when new feedback are added- checkbox and now every time a comment is added I get 4 emails with the identical comment. Is there any means you’ll be able to remove me from that service? Thanks!
    nike outlet

  • michael kors handbags
    Trả lời

    Aw, this was a very nice post. In idea I want to put in writing like this additionally ?taking time and actual effort to make an excellent article?but what can I say?I procrastinate alot and on no account seem to get one thing done.
    michael kors handbags

  • yeezy boost
    Trả lời

    Thank you a lot for providing individuals with remarkably marvellous chance to read from this blog. It is usually so great and jam-packed with a lot of fun for me personally and my office mates to visit your website particularly three times in a week to read through the latest items you have got. And lastly, I’m certainly fascinated with all the splendid tips you serve. Selected 4 tips in this post are honestly the simplest we have all ever had.
    yeezy boost

  • adidas stan smith
    Trả lời

    The next time I learn a blog, I hope that it doesnt disappoint me as much as this one. I imply, I do know it was my option to read, however I actually thought youd have one thing attention-grabbing to say. All I hear is a bunch of whining about something that you may fix if you happen to werent too busy in search of attention.
    adidas stan smith

  • fenty puma
    Trả lời

    This website is mostly a walk-by way of for all the data you wanted about this and didn抰 know who to ask. Glimpse right here, and you抣l definitely discover it.
    fenty puma

  • links of london
    Trả lời

    Your place is valueble for me. Thanks!?
    links of london

  • ferragamo sale
    Trả lời

    There are definitely numerous particulars like that to take into consideration. That could be a great point to bring up. I offer the ideas above as normal inspiration but clearly there are questions like the one you bring up the place the most important factor will likely be working in honest good faith. I don?t know if finest practices have emerged round things like that, but I am sure that your job is clearly identified as a fair game. Both girls and boys really feel the impact of just a moment抯 pleasure, for the remainder of their lives.
    ferragamo sale

  • nike epic react flyknit
    Trả lời

    It’s best to take part in a contest for among the best blogs on the web. I will advocate this website!
    nike epic react flyknit

  • hermes handbags
    Trả lời

    Your place is valueble for me. Thanks!?
    hermes handbags

  • michael kors outlet online
    Trả lời

    very nice publish, i definitely love this website, carry on it
    michael kors outlet online

  • yeezy shoes
    Trả lời

    Your home is valueble for me. Thanks!?
    yeezy shoes

  • maglie calcio poco prezzo
    Trả lời

    Howdy, awesome web site you’ve gotten at this time there.
    maglie calcio poco prezzo

  • Jacki
    Trả lời

    It’s an remarkable paragraph in favor of all the online people; they will obtain advantage from it I am
    sure.

    arsenal drakt med trykk

  • Olive
    Trả lời

    Hi to every one, the contents existing at this site are in fact awesome for people experience, well, keep up the good work fellows.

    Juventus tröja

  • Reuben
    Trả lời

    Remarkable issues here. I’m very happy to look your post.
    Thanks so much and I am taking a look ahead to contact you.
    Will you kindly drop me a mail?

    Juventus tröja

  • Max
    Trả lời

    Good web site you have got here.. It’s difficult to find high-quality writing like yours these days.
    I truly appreciate people like you! Take care!!

    roma fotballdrakt

  • Leatha
    Trả lời

    Hi there just wanted to give you a quick heads up. The words in your content seem to be running off
    the screen in Chrome. I’m not sure if this is a format issue or something to do
    with web browser compatibility but I thought I’d post to let you know.
    The design look great though! Hope you get the issue solved soon. Many thanks

    Billige liverpool fodboldtrøjer

  • Dewitt
    Trả lời

    Simply wish to say your article is as amazing. The clarity
    in your post is simply spectacular and i could assume you’re an expert on this subject.
    Fine with your permission let me to grab your feed to keep
    updated with forthcoming post. Thanks a million and please carry
    on the enjoyable work.

    Inter maglia

  • Bell
    Trả lời

    I quite like reading through an article that can make people think.

    Also, thanks for permitting me to comment!

    Maglie Milan

  • Liliana
    Trả lời

    Its like you learn my mind! You seem to grasp a
    lot about this, like you wrote the guide in it or something.

    I believe that you simply can do with a few percent to power
    the message house a bit, however instead of that, that is
    fantastic blog. A fantastic read. I will definitely be back.

    barcelona Fodboldtrøje

  • Wyatt
    Trả lời

    When someone writes an piece of writing he/she retains the image of
    a user in his/her brain that how a user can be aware of it.
    So that’s why this post is amazing. Thanks!

    Liverpool Tröja

  • Lois
    Trả lời

    Saved as a favorite, I like your blog!

    maglia Leverkusen poco prezzo

  • Wendi
    Trả lời

    Hi! Someone in my Facebook group shared this website with us so I came to
    check it out. I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my
    followers! Excellent blog and excellent design.

    magliette Inter Milan

  • Ernie
    Trả lời

    What’s up colleagues, good paragraph and pleasant urging commented here, I am in fact enjoying by these.

    Juventus drakt

  • Amparo
    Trả lời

    I’ve been browsing on-line more than 3 hours nowadays, yet I never
    found any interesting article like yours. It is lovely price enough for me.
    In my opinion, if all webmasters and bloggers made
    good content as you did, the internet might be a lot more useful than ever before.

    Juventus ny trøje

  • Tanja
    Trả lời

    It’s an awesome post in favor of all the internet users; they will obtain advantage from it I am sure.

    maglia Inter poco prezzo

  • Edgar
    Trả lời

    I am genuinely glad to read this blog posts which contains tons of valuable
    facts, thanks for providing such data.

    maglia liverpool

  • Millie
    Trả lời

    I am sure this paragraph has touched all the
    internet visitors, its really really pleasant paragraph on building up new web site.

    Roma Fotballdrakt

  • Sergio
    Trả lời

    I think the admin of this web page is genuinely working hard
    in favor of his website, because here every information is quality based information.

    Ajax fotballdrakter 2018

  • Alanna
    Trả lời

    Hello! I simply want to give you a huge thumbs up for your great information you have right here on this post.
    I’ll be returning to your web site for more soon.

    Billige milan fodboldtrøjer