SQL注入处存在的XSS漏洞

SQL注入与XSS都是web安全中的危险漏洞

简单来说一下XSS与CSRF最大的区别,这两个的最大的不同点在于XSS是客户端信任服务端,当服务端未过滤恶意代码发送给客户端,客户端浏览器就直接执行;CSRF是服务端信任客户端,当攻击者构造好url之后,受害者发送请求给服务器,通过服务器的验证(cookie,token之类的),则直接以受害者的权限执行相关操作,完成服务。

SQL注入中的XSS

环境

  • Apache
  • MYSQL
  • PHP

测试网站

  • SQLi-Labs
  • bWApp

GET 型参数

  • SQLi-Labs Less 1

id 处为SQL注入点,这里没有对参数做任何处理,只要构造相应的SQL语句则可以执行SQL注入

修改参数为,审查元素可以看见,这句代码被在前端执行了

SQL注入处存在的XSS漏洞_第1张图片

  • bWApp SQL Injection (GET/Select)

moive 为注入点,当在注入点moive处构造时,那么也会被xss攻击

SQL注入处存在的XSS漏洞_第2张图片

POST 参数

  • SQLi-Labs Less 11

在usrname,password构造xss语句,并发送给服务器,当服务器返回之后,前端浏览器直接解析这句脚本,xss攻击构造成功

SQL注入处存在的XSS漏洞_第3张图片

  • bWApp XSS - Reflected (Login Form)

构造post请求体为

login=' or 1=1&password=&form=submit

login=' or 1&password=&form=submit

login=' or 1=1&password=&form=submit

等等

SQL注入处存在的XSS漏洞_第4张图片

成因

xss是客户端信任服务端,当服务端返回了恶意代码之后,客户端会完全相信服务端返回的数据,并在客户端浏览器解析执行,当解析到有诸如此类的恶意代码的时候,在web前端中,只要HTML中存在

你可能感兴趣的:(学习)