盲注blink
blind SQL(盲注)是注入攻击的一种,向数据库发送true或false 这样的问题,根据应用程序返回的信息判断结果。
盲注语句:
if(ascii(substr(datadase(),1,1)=115,1,sleep(3)))
当数据库名第一个字母的ASCII码值等于115时,执行一次sleep(3)函数等待3秒。
基于布尔型的盲注:
select length(database());
select substr(database(),1,1);
select ascii(substr(database(),1,1);
select ascii(substr(database(),1,1)>N;
select ascii(substr(database(),1,1)=N;
select ascii(substr(database(),1,1)<N;
sqlmap使用时间型盲注
python2 sqlmap.py -u “url” --technique T --dbs
SSTI(服务器端模板注入)
一、什么是SSTI
SSTI就是服务器端模板注入(Server-Side Template Injection),也给出了一个注入的概念。
SSTI是获取了一个输入,然后再后端的渲染处理上进行了语句的拼接,然后执行。当然还是和sql注入有所不同的,SSTI利用的是现在的网站模板引擎(下面会提到),主要针对python、php、java的一些网站处理框架,比如Python的jinja2(Flask) mako tornado django,php的smarty twig,java的jade velocity。当这些框架对运用渲染函数生成html的时候会出现SSTI的问题。
二、关于SSTI的python类的知识
class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
bases:用来查看类的基类,也可是使用数组索引来查看特定位置的值
subclasses():查看当前类的子类。
(获取基类还能用还有__mro__)
三、一些常用的方法
有的时候还是需要绕过和沙箱逃逸才能实现SSTI的。