Fuzzing

This text describes what fuzz testing is and what you should consider before you fuzz an application. What is fuzzing? The terms fuzzing or fuzz testing mean the same thing. To "fuzz" an application means to give it malformed input. Fuzzing (or fuzz testing) an application means giving the application many different invalid input test… Read More »

Cryptography for Developers

“The function of cryptographic protocols is to minimize the amount of trust required. Let’s repeat that. The function of cryptographic protocols is to minimize the amount of trust required. This means minimizing both the number of people who need to trust each other and the amount of trust they need to have.” —Practical Cryptography If… Read More »

DOM-Based Cross-Site Scripting (XSS-0)

Every cross-site scripting (XSS) vulnerability can be classified into one of three categories: Reflected XSS (Type-1) Stored XSS (Type-2) DOM-based XSS (Type-0) Reflected XSS vulnerabilities are the classic, most common type, where the application immediately "reflects" or echos user input from a form or querystring variable back into the page HTML. Stored XSS vulnerabilities are… Read More »

NoSQL Security

NoSQL Background From Wikipedia http://en.wikipedia.org/wiki/NoSQL: NoSQL is a broad class of database management systems that differ from classic relational database management systems (RDBMSes) in some significant way. These data stores may not require fixed table schemas, and usually avoid join operations and typically scale horizontally. NoSQL is not a standard like SQL. There is no… Read More »

SQL Injection

General SQL injection overviews: http://www.securiteam.com/securityreviews/5DP0N1P76E.html (includes code samples for JSP and Vbscript) and http://www.securiteam.com/securityreviews/5DP0N1P76E.html OWASP Guide to reviewing code for SQL injection: http://www.owasp.org/index.php/Reviewing_Code_for_SQL_Injection JSP: correctly use stored procedures: http://java.sun.com/j2se/1.3/docs/api/java/sql/PreparedStatement.html more JSP info: http://www.naspa.com/PDF/2005/0605/N0506005.pdf ASP Vbscript: Basic intro focused on escaping (not the best solution) http://www.4guysfromrolla.com/webtech/061902-1.shtml Recommended solution using parameterized queries: http://www.patrice.ch/en/computer/web/articles/2002/web_security.pdf (see Appendix D for… Read More »

.NET Security Best Practices

Web Application Configuration Analyzer (WACA) This tool will analyze the configuration of IIS and SQL Server for security issues. https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=734&DownloadID=23330 Web Protection Library (WPL) Evaluate this library and consider adopting it. It includes protections against XSS, Cross Site Request Forgery, and SQL Injection attacks. https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=734&DownloadID=23329 CAT.NET 2.0 This tool performs static analysis on the .NET… Read More »

Android Security – Write Secure Apps

Android is a great platform for writing secure applications. It provides a type-safe language (Java), an advanced security model, a proven class library, and a powerful set of appropriate and securable abstractions for application development. Android’s framework typically defaults to safe behavior unless the developer explicitly decides to share data between applications, and then it… Read More »

Compiler Security Options

Introduction Here, I’m going to specify various security options while compiling code. Writing secure code becomes a necessity. Hackers are very smart. We should use options available from compilers. They help in securing our code from hackers. Windows /GS #pragma strict_gs_check(on) DEP ASLR Bottom-up Randomization SafeSEH SHEOP Safer Function Calls Heap Metadata Protection Latest ATL… Read More »

Safe Mathematics

Integer arithmetic is one of the pernicious source of security vulnerabilities. They manifest themselves in any program that manipulates integers, which is nearly any program. There are various types of integer related bugs, viz. integer overflows, assignment truncation, integer underflow, and signedness errors. Of them Integer Overflow is the most prevalent one causing nearly 70%… Read More »

Code Writing – Unsafe Functions/Methods

In programming world, using library functions/methods/apis is quite usual. And, most times developer tend to use what it finds on google, or what he/she knows. But, we should be very careful in using it. We should not be blindly using it. Hackers can take advantage of it. Background When the C runtime library was first… Read More »

Secure Development Environment

What do we mean by Secure Development Environment? First, it is a set of decisions and tools that can be made upfront and project wide that can improve security. Once a product’s design is secure, the main source of security vulnerabilities is often the implementation. There are many development tools that can help find, mitigate,… Read More »