发新话题
打印

[讨论]一个PHP注射点的疑问

[讨论]一个PHP注射点的疑问

议题提交:dingking
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

今天无意间抓包的时候发现一URL:http://202.99.**.***:8080/vote_show/index.php?qid=713,试着用Domain3.5注射(曾经注射成功过PHP的),提示:恭喜,该URL可以注入!
数据库类型:Access数据库, 数据库两个user和news,表三个user_name,user,user_id,但都无法得到表内容。
  然后换教主的HDSI3.0检测,提示无注射漏洞(也许是我使用方法不当),在换KEvinSI注射,得到:

Warning: SQL error: [IBM][CLI Driver][DB2/6000] SQL0104N An unexpected token "select 1/*" was found following "id=713 and 1=2 union". Expected tokens may include: "". SQLSTATE=42601 , SQL state 42601 in SQLExecDirect in /cms/php/vote_show/index.php on line 10

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in /cms/php/vote_show/index.php on line 15
数据库中没有这条调查的记录!可能已被删除。

所以就有了疑问,为什么PHP的注射点用ASP的也能注射成功(曾经成功过)?PHP注射和ASP注射提交的参数应该是不一样的,为什么有些PHP注射点ASP方法注射成功而PHP注射方法不成功呢?由于本人对PHP等语言都不是很了解,找 了相关资料也未果,所以提出来大家讨论一下,希望在大家的讨论中会有所收获。
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

此帖被评分,最近评分记录威望:-20(冰血封情)
??

冰血老大...错了吧..
\';update heart set love=\'nothing
\' where name=yaner;--

TOP

引用:
下面是引用nowthk于07-21-2005 00:08发表的:
此帖被评分,最近评分记录威望:-20(冰血封情)
??

冰血老大...错了吧..
扣分的原因是没有把真实的IP地址屏蔽 目前法律严格 公开讨论一旦被受害者发现后投诉 可能面临团队被封杀的危机
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

郁闷了的说,那个真实IP我故意写出来的,好让大家自己试着注射一下,本来就没威望了,这下可好,一次就给我搞掉20,这叫我怎么活嘛。  :(
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

下次我会注意了,免得给大家惹麻烦  :(
—————————————
此帖被评分.最近评分记录
威望:2000(冰血封情)  
—————————————
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

对啊!呵呵!

TOP

哎哟。。。。大家讨论下那个注射的点的问题说。。。不要讨论被扣分的问题了。。。:(
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

Warning: SQL error: [IBM][CLI Driver][DB2/6000]
首先注意这句:DB2。。。也就是说是DB2的数据库。有别于平时我们见过的MySQL\MSSQL\Oracle..SQL的语句不一定相同.
关于用Domain 3.5这个程序诸如成功并且返回的表的名字来看,我的认为是误报.
而且DB2显示错误的语句返回的时候为: ** And 1=2 Union....
估计是在Union之前或者之后有错误,比如那个真对MySQL的注释符号 /*
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

注射是看数据库的 不看web语言

TOP

问题应该是出在 '  这个号上面
注入工具的语句构造.很多的情况下都是用 '  的,asp程序,如果没有进行过滤,那么,注入语句当然不会有问题,但是php不同,php默认情况下会把特殊字符转义把 ' 自动转换成为了 \',当然也有注释问题,php和asp的注释语句不相同,还有superhei所说的.也要看数据库,工具在注入的时候,如果进行的是php注入,那么就会默认自动把数据库当成mysql注入.当然了,这只是猜想.理论上来说应该是这样子的

TOP

啊..楼上的朋友..
恕我直言,SQL Injection技术并不是基于什么WEB语言的..
SQL Injection是数据库的注入技术,也就是说,针对的是数据库.当然如果我使用MySQL+ASP或者是PHP+Acess一样没有多少区别.只不过是有的Web语言在对用户提交的数据中做过处理了而已.
正如小黑说的是针对数据库的攻击..
我来举个简单的例子
复制内容到剪贴板
代码:
<!-- #include file="conn.asp" -->

<%
sqlstring="Select * from table where smthing=&#39;" & Request("smthing") & "&#39;"
set rs=conn.execute sqlstring
.......

%>
SQLString只是组合了用户提交的字符串...而真正起到作用的.是放到数据库中执行的那一部分.也就是说,ASP处理的只是组合这些提交的字符串,而数据库才是执行Inj的主角..
明白了没有.Inj不分WEB语言类型的.
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

存在sql注射问题.
.asp/.aspx/.php/.jsp
通杀!
一个新的生命已经诞生!http://netbaby.org

TOP

引用:
下面是引用kevin1986于07-23-2005 22:07发表的:
啊..楼上的朋友..
恕我直言,SQL Injection技术并不是基于什么WEB语言的..
SQL Injection是数据库的注入技术,也就是说,针对的是数据库.当然如果我使用MySQL+ASP或者是PHP+Acess一样没有多少区别.只不过是有的Web语言在对用户提交的数据中做过处理了而已.
正如小黑说的是针对数据库的攻击..
我来举个简单的例子
.......
呵呵
了解了~一般遇到这种情况,还是手工比较好~毕竟还是手工来得灵活~

TOP

明白了。。。~找注射点也就是要找到可以提交数据让数据库执行的那个点,根据反回的信息来判断是否能注射,主要是针对数据库的注射,WEB上只是一个提交的地方,不同的WEB语言不同或相同的提交方法。
不知道这样理解是不是对的。。。
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

.asp .aspx .php的SQL注入漏洞是先天缺陷导致的,原因便是对用户提交的数据过于信任,没有做服务器端校验.但.jsp相对来说比较健壮一些,只要用Connection.prepareStatement就简单可以简单彻底的杜绝这类攻击.

TOP

我朋友也遇到过这个问题,其实不依靠工具,而是用手工在注入点后边学习工具的样子输入注入语句,然后看返回的结果,或者抓包分析一下,就知道你遇到的数据库和原来常见的不一样了。我没有接触过DB2,也不方便说什么,只是告诉你,遇到问题首先自己冷静分析,技术是需要基础的理论知识作为引导的。
list.ph4nt0m.org

TOP

注射只看数据库
mysql
access
mssql
以及其他.sql语句不一定一样的
是傻X就玩傻X,这年代就是傻X!

TOP

这个就是数据库的区别了,从根本上说,注射的时候和web语言是没有关系的.
所有的注射的机缘应该是数据库的根本
我们的目的是提高

TOP

我试过一次抓包全是乱码,是为什么呢?

TOP

其实asp 和php的注入大概的原理都是一样的
注入是区分出字符型,数字型和搜索型的
ASP的字符型注入方式比较灵活些
而php的字符型注入是在 magic_quotes_gpc=off情况下才可以
比如
<?php
//display.php
....
$query="select * from alphadb where id=&#39;".$id."&#39;;
....
?>
只需要把asc变为ascll
把len变为length就可以了
好好上网,天天向上

TOP

引用:
下面是引用無名于2005-08-06 09:01发表的:
我试过一次抓包全是乱码,是为什么呢?
Content-Encoding: gzip
大隐于市

TOP

Casiv4.0 Pro火狐专用.exe
PHP注入就是用这个吧`不过这东西我不怎么会用```
20字节太少了

TOP

发新话题