<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rochak Chauhan::Unpredictably Exciting &#187; MySQL</title>
	<atom:link href="http://rochakchauhan.com/blog/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://rochakchauhan.com/blog</link>
	<description>Know your limits, but never stop trying to exceed them.</description>
	<lastBuildDate>Thu, 03 May 2012 11:48:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Six steps to secure sensitive data in MySQL</title>
		<link>http://rochakchauhan.com/blog/2008/01/10/six-steps-to-secure-sensitive-data-in-mysql/</link>
		<comments>http://rochakchauhan.com/blog/2008/01/10/six-steps-to-secure-sensitive-data-in-mysql/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 10:41:11 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[secure data]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/01/10/six-steps-to-secure-sensitive-data-in-mysql/</guid>
		<description><![CDATA[&#160; If you&#8217;re using MySQL, there are some easy things you can do to secure your systems and significantly reduce the risk of unauthorised access to your sensitive data. The most valuable asset for technology-based organisations is usually the customer or product information in their databases. And so, a critical part of database administration in &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/01/10/six-steps-to-secure-sensitive-data-in-mysql/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p id="story" class="clearfix">&nbsp;</p>
<p class="smdeck">If you&#8217;re using MySQL, there are some easy things you can do to secure your systems and significantly reduce the risk of unauthorised access to your sensitive data.</p>
<p>The most valuable asset for technology-based organisations is usually the customer or product information in their databases. And so, a critical part of database administration in such organisations consists of securing these databases against outside attack and hardware/software failures.</p>
<p>In most cases, hardware and software failures are handled through a data backup regimen. Most databases come with built-in tools to automate the entire process, making this aspect of the job relatively painless and error-free. What&#8217;s not so simple, however, is the second half of the puzzle: making sure that outside hackers can&#8217;t get into the system and either steal or damage the information contained therein. And unfortunately, there usually isn&#8217;t an automated way to solve this problem; rather, it requires you, the administrator, to manually put in place roadblocks and obstacles to trip up would-be hackers and to ensure that your company&#8217;s data stays secure.</p>
<p>A common reason for not securing databases is that it is &#8220;difficult&#8221; and &#8220;complicated&#8221;. While this is certainly true, if you&#8217;re using MySQL, there are some easy things you can do to significantly reduce the risk you face. This tutorial lists six such items, but you can find many more in the MySQL manual and discussion forums.</p>
<h2>Step 1: Remove wildcards in the grant tables</h2>
<p>The MySQL access control system works through a series of so-called grant tables, which make it possible to define access levels for each user at the database, table or column level. While these tables do allow administrators to set blanket permissions for a user or set of tables using wildcards, doing so is inherently dangerous because a hacker could use a single compromised account to gain access to other parts of the system. For this reason, be precise when assigning users privileges and always ensure that users have only as much access as they need to perform their tasks. In particular, be wary of assigning the SUPER privilege to individual users, as this level allows users to manipulate basic server configuration and access all databases.<strong>Tip:</strong> Use the SHOW PRIVILEGES command for each user account to audit your grant tables and see if the use of wildcard permissions is appropriate.</p>
<h2>Step 2: Require the use of secure passwords</h2>
<p>User accounts are only as secure as the passwords used to protect them. For this reason, the very first thing you should do when you install MySQL is assign a password to the MySQL root account (empty by default). Once you&#8217;ve closed this gaping hole, the next step is to require that every user account must have a password and ensure that passwords do not use easily-recognisable heuristics such as birthdays, user names or dictionary words.<strong>Tip:</strong> Use the MySQL &#8211;secure-auth option to prevent the use of older, less secure MySQL password formats.</p>
<h2>Step 3: Check the permissions of configuration files</h2>
<p>Very often, to make server connections faster and more convenient, both individual users and server administrators store their user account passwords in their per-user MySQL options file. However, this password is stored in plain-text within the file and can easily be read. Therefore, it&#8217;s important to ensure that such per-user configuration files are not viewable by other users of the system, and are stored in non-public locations. Ideally, you&#8217;d want the per-user configuration to be stored in the user&#8217;s home directory with permissions 0600.</p>
<h2>Step 4: Encrypt client-server transmissions</h2>
<p>An important issue in the MySQL (and any) client-server architecture involves the security of data being transmitted over the network. If client-server transactions take place in plaintext, it is possible for a hacker to &#8220;sniff&#8221; the data packets being transmitted and thus gain access to sensitive information. You can close this hole either by enabling SSL in your MySQL configuration, or by using a secure shell utility like OpenSSH to create a secure encrypted &#8220;tunnel&#8221; for your data to pass through. Encrypting your client-server connection in this manner makes it extremely hard for unauthorised users to read the data going back and forth.</p>
<h2>Step 5: Disable remote access</h2>
<p>If your users don&#8217;t need to access the server remotely, you can significantly reduce the risk of a network attack by forcing all MySQL connections to take place via the UNIX socket file. This is accomplished by starting the server with the &#8211;skip-networking option. Doing this blocks TCP/IP network connections to MySQL and ensures that no user can remotely connect to the system.<strong>Tip: </strong>An enhancement to this would be to add the directive bind-address=127.0.0.1 in your MySQL server configuration, to force MySQL to bind to the IP address of the local machine and thus ensure that only users on the same system can connect to MySQL.</p>
<h2>Step 6: Actively monitor the MySQL access log</h2>
<p>MySQL comes with a number of different log files, which keep track of client connections, queries and server errors. Of these, the most important is the general query log, which logs each client connection and disconnection with a timestamp, and also records each query executed by a client. If you suspect unusual activity, such as that associated with a network break-in attempt, it&#8217;s a good idea to monitor this log to gain an understanding of the source of the activity.Protecting your MySQL databases is an ongoing task, and so you shouldn&#8217;t rest easy once you&#8217;ve done the steps above. Visit the MySQL manual and the MySQL forums for more security tips, and be proactive in monitoring and updating the security of your system. Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/01/10/six-steps-to-secure-sensitive-data-in-mysql/feed/</wfw:commentRss>
		<slash:comments>572</slash:comments>
		</item>
		<item>
		<title>Top 15 free SQL Injection Scanners</title>
		<link>http://rochakchauhan.com/blog/2008/01/10/top-15-free-sql-injection-scanners/</link>
		<comments>http://rochakchauhan.com/blog/2008/01/10/top-15-free-sql-injection-scanners/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 10:29:47 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[SQL Injection Scanners]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/01/10/top-15-free-sql-injection-scanners/</guid>
		<description><![CDATA[While the adoption of web applications for conducting online business has enabled companies to connect seamlessly with their customers, it has also exposed a number of security concerns stemming from improper coding. Vulnerabilities in web applications allow hackers to gain direct and public access to sensitive information (e.g. personal data, login credentials). Web applications allow &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/01/10/top-15-free-sql-injection-scanners/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="itemtext">While the adoption of web applications for conducting online business has enabled companies to connect seamlessly with their customers, it has also exposed a number of security concerns stemming from improper coding. Vulnerabilities in web applications allow hackers to gain direct and public access to sensitive information (e.g. personal data, login credentials).</p>
<p>Web applications allow visitors to submit and retrieve data to/from a database over the Internet. Databases are the heart of most web applications. They hold data needed for web applications to deliver specific content to visitors and provide information to customers, suppliers etc.<a id="more-53"></a></p>
<p><strong>SQL Injection</strong> is perhaps the most common web-application hacking technique which attempts to pass SQL commands through a web application for execution by the back-end database. The vulnerability is presented when user input is incorrectly sanitized and thereby executed.</p>
<p>Checking for <strong>SQL Injection</strong> vulnerabilities involves auditing your web applications and the best way to do it is by using automated SQL Injection Scanners. We’ve compiled a list of free <strong>SQL Injection Scanners</strong> we believe will be of a value to both web application developers and professional security auditors.</p>
<p><strong>SQLIer</strong> &#8211; SQLIer takes a vulnerable URL and attempts to determine all the necessary information to exploit the SQL Injection vulnerability by itself, requiring no user interaction at all. <a href="http://bcable.net/project.php?sqlier" target="_blank">Get SQLIer</a>.</p>
<p><strong>SQLbftools</strong> &#8211; SQLbftools is a collection of tools to retrieve MySQL information available using a blind SQL Injection attack. <a href="http://www.reversing.org/node/view/11" target="_blank">Get SQLbftools</a>.</p>
<p><strong>SQL Injection Brute-forcer</strong> &#8211; SQLibf is a tool for automatizing the work of detecting and exploiting SQL Injection vulnerabilities. SQLibf can work in Visible and Blind SQL Injection. It works by doing simple logic SQL operations to determine the exposure level of the vulnerable application. Get SQLLibf.</p>
<p><strong>SQLBrute</strong> &#8211; SQLBrute is a tool for brute forcing data out of databases using blind SQL injection vulnerabilities. It supports time based and error based exploit types on Microsoft SQL Server, and error based exploit on Oracle. It is written in Python, uses multi-threading, and doesn’t require non-standard libraries. <a href="http://www.justinclarke.com/security/sqlbrute.py" target="_blank">Get SQLBrute</a>.</p>
<p><strong>BobCat</strong> &#8211; BobCat is a tool to aid an auditor in taking full advantage of SQL injection vulnerabilities. It is based on <a href="http://www.appsecinc.com/presentations/Manipulating_SQL_Server_Using_SQL_Injection.pdf" target="_blank">AppSecInc</a> research. It can list the linked severs, database schema, and allow the retrieval of data from any table that the current application user has access to. <a href="http://www.northern-monkee.co.uk/projects/bobcat/bobcat.html" target="_blank">Get BobCat</a>.</p>
<p><strong>SQLMap</strong> &#8211; SQLMap is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of SQLMap is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities. <a href="http://sqlmap.sourceforge.net/" target="_blank">Get SQLMap</a>.</p>
<p><span class="style1"><strong>Absinthe</strong> &#8211; </span><span class="style1">Absinthe is a GUI-based tool that automates the process of downloading the schema and contents of a database that is vulnerable to Blind SQL Injection. <a href="http://www.0x90.org/releases/absinthe/download.php" target="_blank">Get Absinthe</a>.</span></p>
<p><strong>SQL Injection Pen-testing Tool</strong> &#8211; <span style="color: #000000;">The SQL Injection Tool is a GUI-based utility designed to examine database through vulnerabilities in web-applications.</span> Get SQL Injection Pen-testing tool.</p>
<p><span class="hd1"><strong>SQID</strong> &#8211; </span>SQL Injection digger (SQLID) is a command line program that looks for SQL injections and common errors in websites. It can perform the follwing operations: look for SQL injection in a web pages and test submit forms for possible SQL injection vulnerabilities. <a href="http://sqid.rubyforge.org/" target="_blank">Get SQID</a>.</p>
<p><strong>Blind SQL Injection Perl Tool</strong> &#8211; bsqlbf is a Perl script that lets auditors retrieve information from web sites that are vulnerable to SQL Injection. <a href="http://www.unsec.net/download/bsqlbf.pl" target="_blank">Get Blind SQL Injection Perl Tool</a>.</p>
<p><strong>SQL Power Injector</strong> &#8211; SQL Power Injection helps the penetration tester to inject SQL commands on a web page. It’s main strength is its capacity to automate tedious blind SQL injection with several threads. <a href="http://www.sqlpowerinjector.com/" target="_blank">Get SQL Power Injection</a>.</p>
<p><strong>FJ-Injector Framwork</strong> &#8211; FG-Injector is a free open source framework designed to help find SQL injection vulnerabilities in web applications. It includes a proxy feature for intercepting and modifying HTTP requests, and an interface for automating SQL injection exploitation. <a href="http://sourceforge.net/project/showfiles.php?group_id=183841" target="_blank">Get FJ-Injector Framework</a>.</p>
<p><strong>SQLNinja</strong> &#8211; SQLNinja is a tool to exploit SQL Injection vulnerabilities on a web application that uses Microsoft SQL Server as its back-end database. <a href="http://sqlninja.sourceforge.net/" target="_blank">Get SQLNinja</a>.</p>
<p align="left"><strong>Automagic SQL Injector</strong> &#8211; The Automagic SQL Injector is an automated SQL injection tool designed to help save time on penetration testing. It is only designed to work with vanilla Microsoft SQL injection holes where errors are returned. Get Automagic SQL Injector.</p>
<p align="left"><strong>NGSS SQL Injector</strong> &#8211; NGSS SQL Injector exploit vulnerabilities in SQL injection on disparate database servers to gain access to stored data. It currently supports the following databases: Access, DB2, Informix, MSSQL, MySQL, Oracle, Sysbase. Get NGSS SQL Injector.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/01/10/top-15-free-sql-injection-scanners/feed/</wfw:commentRss>
		<slash:comments>292</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
