1.Xss攻击过程:
(1)发现A站有xss漏洞。
(2)注入xss漏洞代码。可以js代码,木马,脚本文件等等,这里假如A站的benwin.PHP这个文件有漏洞。
(3)通过一些方法欺骗A站相关人员运行benwin.PHP,其中利用相关人员一些会员信息如cookies,权限等。
相关人员:
管理员(如贴吧版主),管理员一般有一定权限。目的是借用管理员的权限或进行提权,添或加管理员,或添加后门,或上传木马,或进一步渗透等相关操作。
A站会员:会员运行A站的benwin.PHP。目的一般是偷取会员在A站的信息资料。
方法:
(1)在A站发诱骗相关人到benwin.PHP的信息,比如网址,这种是本地诱骗
(2)在其他网站发诱骗信息或者发邮件等等信息。
一般通过伪装网址骗取A站相关人员点击进benwin.PHP
(3)第三步一般已经是一次xss攻击,如果要更进一步攻击,那不断重复执行(2)、(3)步以达到目的。
简单例说xss攻击
代码:benwin.PHP文件代码如下:
<html><head><title>简单xss攻击例子</title></head><meta http-equiv="Content-Type"content="text/html;charset=utf-8"><dody><form action="PHPben.com user_name=<?PHP echo $user_name;?>"><input type="submit"value="提交"></form></body></html>
当用户名$user_name的值是“benwin”onSubmit=”alert(‘这是xss攻击的例子');”class=“”(这里)
代码如下:
<form action="PHPben.com user_name=benwin"onSubmit="alert('这是xss攻击的例子');"class=""><input type="submit"value="提交"></form>
当提交表单的时候就会弹出提示框。
(1)很明显$user_name在保存进数据库的时候没有过滤xss字符(和防注入很像,这里举例说明)==>发现漏洞
(2)构造xss代码:benwin”onSubmit=”alert(‘这是xss攻击的例子');”class=“”传入数据库
(3)骗相关人员进来点击“提交”按钮
2.常见xss攻击地方
(1)Js代码(www.xing528.com)
代码如下:
<script language="javascript">var testname="<?PHP echo $testname;?>";
</script>
$testname的值只要符合js闭合关系:“”;alert(“test xss“);”(以下同理)
(2)form表单
代码如下:
<input type="text"name="##"value="<?PHP echo $val;?>"/>
(3)a标签
代码如下:
<a href="benwin.PHP id=<?PHP echo $id;?>">a标签可以隐藏xss攻击</a>
(4)用得很多的img标签
代码如下:
<img src="<?PHP echo $picPath;?>"/>
甚至一些文本中插入整个img标签并且用width、height、css等隐藏得很隐蔽
(5)地址栏
总之,有输出数据的地方,更准确地说是有输出用户提交的数据的地方,都有可能是XSS攻击的地方。
3.防XSS方法
防xss方法其实和防注入很相似,都是一些过滤、代替、实体化等方法
(1)过滤或移除特殊的Html标签。
例如:<、>、<,、>'、”、<script>、<iframe>、<,、>、"
(2)过滤触发JavaScript事件的标签。例如onload、onclick、onfocus、onblur、onmouseover等等。
(3)PHP一些相关函数,strip_tags()、htmlspecialchars()、htmlentities()等函数可以起作用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。