存档

文章标签 ‘sql’

刚改VPS出问题了,现在刚解决好,原来打算多写几篇关于dedeims的文件,无奈现在太晚了,先写一篇 给dedeims添加在线支付的功能之数据库设置 ,页面代码等改天整理好再发。

–为会员添加余额
ALTER TABLE `dede_member` ADD `money` DOUBLE(11,2) Default 0 NOT NULL AFTER `scores`
ALTER TABLE `dede_member` ADD `moneyto` DOUBLE(11,2) Default 0 NOT NULL AFTER `money`

–添加充值记录
–paytype 0:在线充值;1:提现;2:积分兑换
DROP TABLE IF EXISTS `dede_paylog`;
CREATE TABLE IF NOT EXISTS `dede_paylog` (
`id` mediumint(8) NOT NULL auto_increment,
`mid` mediumint(8) NOT NULL,
`paytype` smallint(5) NOT [...]

三 23rd, 2010 | Filed under Experience(经验), PHP, Share(分享)

本文猫七博客首发,原文地址 http://www.miaoqiyuan.cn/p/bye-sql-bug。
03-05年,我一度沉迷于拿站,收藏了一大堆注入工具。当时自己比较菜,一直都不得要领,觉得猜表名什么的好神奇。。。为了纪念那些日志,我写一个猜表名的教程。先把原理说一下。
如果单是看表名,可能永远也不会看懂,实际所有类型的数据库(如:access,mssql)都有一些隐藏的系统表来保存表格信息。猜表名的核心就在这里。
比如以下的例子:

< %
id=request("id")
set rs=conn.execute("select * from news where id="&id)
....
%>

访问test.asp?id=1则显示第一篇文章。单是没有任何的过滤,如果提交的是 test.asp?id=1 and (select count(name) from msysobjects where type=1 and left(name,1)=’n’)呢?

select * from news where id=1 and (select count(name) from msysobjects where type=1 and left(name,1)=’n')

如果没有找到相关记录,说明没有表,正常显示呢?当然说明有记录哦,然后left(name,2)=’ne’;..用不了多大的功夫,数据库的所有表就都出来了哦。原理就是这么简单。。。。
刚看到网友小秦的留言,ASP访问Access数据库,确实没有读取的权限,看来Access猜表名只能靠运气了~,我当时只在Access里的查询的时候测试通过,忘了权限的问题。MSSQL猜表名有效

一 29th, 2010 | Filed under ASP, Share(分享)
标签: , , ,