‘壹’ sqlmap怎么注入sql server
当给sqlmap这么一个url的时候,它会:
1、判断可注入的参数
2、判断可以用那种SQL注入技术来注入
3、识别出哪种数据库
4、根据用户选择,读取哪些数据
sqlmap支持五种不同的注入模式:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。
sqlmap支持的数据库有:
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
可以提供一个简单的URL,Burp或WebScarab请求日志文件,文本文档中的完整http请求或者Google的搜索,匹配出结果页面,也可以自己定义一个正则来判断那个地址去测试。
测试GET参数,POST参数,HTTP Cookie参数,HTTP User-Agent头和HTTP Referer头来确认是否有SQL注入,它也可以指定用逗号分隔的列表的具体参数来测试。
‘贰’ 在sqlmap中怎么写动态查询的sql语句
<isEqual property="" compareValue=""> 你的代码 </isEqual>
<isNotEqual property="" compareValue="">你的代码 </isNotEqual>
<isNull>你的代码 </isNull>
<isNotNull>你的代码 </isNotNull>
‘叁’ sqlmap扫描到的sql注入,怎样解决
1、首先是burp设置记录log 2、把记录的log文件放sqlmap目录下 3、sqlmap读log自动测试: python sqlmap.py -l 文件名 --batch -smart batch:自动选yes。 smart:启发式快速判断,节约时间。 4、最后能注入的url会保存到out文件夹下。
‘肆’ ibatis框架调用sqlmap,执行多条sql
没有的吧,我记得mybatis中是可以执行2条sql的,应该ibatis也可以才是。第一条sql中的返回值是可以作为第二条sql的条件执行的。
<updateid="insertProct-ORACLE" parameterClass="com.domain.Proct">
<selectKey resultClass="int" keyProperty="seqno" >
select seqno from table where .. for update
</selectKey>
update table set seqno = seqno+1
</update>