当前位置:首页 » sql注入 » 正文

sql注入简单测试

1126 人参与  2020年11月08日 11:25  分类 : sql注入  

最简单的测试

http://localhost/test.php?id=15’ 返回错误
http://localhost/test.php?id=15 and 1=1 返回正常 
http://localhost/test.php?id=15 and 1=2 返回错误

SQL注入攻击过程
判断注入点
判断注入点类型
判断数据库类型
获取数据库数据库,提权

三种注入类型测试方法:
一:数字型
测试方法:
http://host/test.php?id=15 and 1=1
返回成功
http://host/test.php?id=15 and 1=2
返回失败
产生原因: 
sqlstr =“select * from news where id =”+ request.getParameter("id")

二:字符型
测试方法:
http://host/test. php?name=rainman' and ‘1'='1 返回成功

http://host/test.php?name=rainman' and '1'='2 返回失败
产生原因:
sqlstr =“select * from news where id=“”+request.getParameter("name") +”

三:搜索型

测试方法:
http://host/test. php' ?keyword=test%' and‘%'='
返回test查询相同结果
http://host/test.php?id=test%' and‘%'='
返回少于test查询结果的内容
产生原因:
sqlstr =“select * from news where keyword like‘%”+request. getParameter("keyword") +”%”

判断注入方式:

内联式SQL注入

内联注入是指查询注入SQL代码后,原来的查询仍然全部执行

Sqlstr =“select * from admin where username ='+username+" and password = "+password+""

username =“or“=”
password=“or“=”

终止式SQL注入

终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句。被注释的查询不会被执行

Sqlstr =“select * from admin where username = "+username+'and password = "password+""
username =“or“=”--“
password =“any string"
常见的终止方式
终止字符串: -,#,%23, %00,/*
终止方法: -----,)-.)--))--


触发SQL注入

所有的输入只要和数据库进行交互的,都有可能触发SQL注入常见的包括:
1. Get参数触发SQL注入
2. POST参数触发SQL注入
3. Cookie触发SQL注入
4.其他参与sq|执行的输入都有可能进行SQL注入


手工测试工具

burp suite

sq8.jpghackbar

sq9.jpg自动化注入工具 sqlmap

sq7.jpg

来源:零零博客(微信/QQ号:1586173648),转载请保留出处和链接!

本文链接:https://www.00bk.cn/wz/15.html

<< 上一篇 下一篇 >>

零零博客

网站地图 | 数码资讯 | 9911影视 | 频道号 | 互联网络 | 秒懂知识

赣ICP备2021007898号-1