标签归档:sql

给dedeims添加在线支付的功能之数据库设置

刚改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 NULL,
  `money` DOUBLE(11,2) Default 0 NOT NULL,
  `money_s` DOUBLE(11,2) Default 0 NOT NULL,
  `money_e` DOUBLE(11,2) Default 0 NOT NULL,
  `dateline` int(10) NOT NULL,
  `desc` char(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET='utf8' AUTO_INCREMENT=1000000;

别了,注入~

本文猫七博客首发,原文地址 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猜表名有效