Binary

to be foolish,to be hungry

有的事拼命的想要忘记,到最后真的就忘了


Download the theme

Pikachu(xss)

Cross-Site Scripting

— — 反射型xss(get)

这种方式的利用相对简单,只需让目标点击构造的url就可以了(JavaScript不太会,要补补课了……不过也可以利用大神们搭建的xss平台)

(测试思路,找到目标的输入接口,如留言板,反馈,评论…,先简单测试,目标是否对一些特殊字符做处理,查看源码里的返回可以判断……)

— — 反射性xss(post)

这种情况不再使用url提交,也就意味着不能直接使用url构造欺骗了。该怎么办呢?这时候我们可以搞一个页面,里面添加一些我们精心构造的代码(比如先获取用户的cookie,然后再重定向到一个可信任的网站……)

— — 存储型xss

这种类型的xss会永久的存储再服务端,当用户的操作触发了恶意代码(比如浏览一篇文章,点击某个按钮)攻击就完成了。通常可以在留言板,用户反馈这些地方去找突破点

— — DOM型xss

通过闭合js语言的标签来实现,如果js从url处读取数据(window.location.search),那么就可以构造url发给目标,完成相应的攻击。

— — xss之盲打

这是我们也不知究竟有没有xss漏洞,通过提交恶意代码带后台,如果存在漏洞,且管理员触发了恶意代码,那么可能就会受到意外惊喜(^_^)

— — xss之过滤

大小写,拼凑,添加注释标签(),编码绕过(了解前端可以识别的编码,编码必须前端可以识别) ……

— — htmlspecialchars

该方法默认是不对单引号进行转义的,所以有可能通过闭合单引号的方式去构造playload

— — js输出和href输出

如果输出给了js,可以通过构造script标签的闭合来实现xss攻击,如果输出给了href,如果没有定义网络协议(http,https),那么可以通过javascrpit协议执行恶意代码

—小栗子

— — 盗取用户cookie

Xss站点(虚拟机):192.168.147.145

受害者(虚拟机): 192.168.147.144

攻击这(宿主机): 192.168.1.2

(先进行联通性测试,保证各个机器之间可以正常的交互…确保初始化数据库,不然会出现许多莫名其妙的问题,我搞了好久…)

确保受害者机器可以正常访问目标站点(关于登陆的地方去登陆一下看看行不行,不然要出幺蛾子)

下面就以靶场上post的xss进行实验。首先受害者会有个登陆操作(这个过程也就获得了个cookie)

我们在攻击上运行pkxss的后台来记录用户的cookie(也就是,平台最下面的管理工具)

我们知道受害者登陆成功后的页面的输入框时存在xss漏洞的

顺便看看受害者获得cookie值是多少

攻击者只需把带有恶意代码的页面(攻击者的站点的地址,诱使得受害者点击…)发个受害者,如果受害者上钩也就获得了cookie(pkxss里帮我们准备了有个post.html的页面可以直接拿来使用,注意修改一下相应的IP,和文件的路径),假设受害者上当了访问了攻击者的站点

这时攻击者在后台就拿到了cookie,甚至还有用户名和密码(md5)欧(^_^)

— — 钓鱼攻击

这个原理更简单,只需要做一个让受害者输入账号和密码的页面,诱使受害者上当就行了(虽然不太可能),pkxss也为我们写好了有个fish.php文件,访问这个文件会弹出有个输入账号和密码的认证框。如果受害者输入账号和密码就会被传到攻击者的后台(-_-?),不过我实验的时候后台一直收不到数据,也不没找原因…(记录一下,日后再回头看看)

— — 键盘记录

这里有一个重要的策略(同源策略),就是不同域的javascript代码不能互相对对方的资源进行操作,但是记录用户的键盘输入需要用到javascript的代码,不用着急(^.^),有的属性是可以无视同源策略的比如src…再说了攻击者可以关闭同源策略的限制,设置站点运行跨域请求。

额…可以将再存储型的xss里利用这个,比如插入恶意代码<script>恶意js地址</script>,这样就可以一直记录受害者数据了(虽然也不太可能…)

最近的文章

Pikachu(暴力破解)

暴力破解— — 基于表单的暴力破解没做任何的防护措施,直接抓包爆破就可以了— — 验证码绕过(on server)这种情况是服务器端生成并验证验证码,但是由于开发人员的疏忽,验证完毕后没有销毁验证码,导致验证码一直有效(只要用户不刷新验证码),所以上一种破解没什么区别,每次多提交一个相同的验证码就可以了— — 验证码绕过(on client)这种验证是通过js验证的好像没什么用,只能提示用户输入验证码错误,根本没有验证的效果。直接抓包爆破,验证码都可以不提交,因为服务端根本没有办法验证用户...…

继续阅读
更早的文章

Allow_url_fopen

all_url_include和allow_url_fopenallow_url_include 在 php 5.2 以后添加,安全方便的设置(php的默认设置)allow_url_fopen=on;all_url_include=offallow_url_fopen = On (允许打开URL文件,预设启用)allow_url_fopen = Off (禁止打开URL文件)allow_url_include = Off (禁止引用URL文件,新版增加功能,预设关闭)allow_url_i...…

继续阅读